https://www.redmine.org/https://www.redmine.org/favicon.ico?16793021292011-03-24T10:00:53ZRedmineRedmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=270602011-03-24T10:00:53ZIvan Cenov
<ul></ul><p>This is like <a class="issue tracker-2 status-1 priority-4 priority-default" title="Feature: Projects page optional as collapsable tree (New)" href="https://www.redmine.org/issues/6522">#6522</a> and <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Alternative view for "Projects" page (Closed)" href="https://www.redmine.org/issues/2117">#2117</a></p>
<p>Also, there were some plugin that implemented this function, but I can't remember it.</p> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=271352011-03-25T09:57:27ZIvan Cenov
<ul></ul><p>Ivan Cenov wrote:</p>
<blockquote>
<p>Also, there were some plugin that implemented this function, but I can't remember it.</p>
</blockquote>
<p>P.S. Here it is : <a class="external" href="http://www.redmine.org/boards/3/topics/4645">http://www.redmine.org/boards/3/topics/4645</a></p> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=322332011-09-14T18:33:04Zalan blount
<ul></ul><p>+1 This is something we're needing as well -- it relates to being able to filter/order the list via structure</p> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=370842012-03-27T22:22:08ZDieter Egert
<ul></ul><p>The link to above mentioned plugin 'Projects Tree View' is this:<br /><a class="external" href="http://www.redmine.org/plugins/projectstreeview">http://www.redmine.org/plugins/projectstreeview</a> or<br /><a class="external" href="https://github.com/wojtha/projects_tree_view">https://github.com/wojtha/projects_tree_view</a> (older branch)</p> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=371082012-03-29T06:48:51ZKlaus Adler
<ul></ul><p>+1 This would be a great if it is native in redmine</p> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=371142012-03-29T13:50:34ZTerence Mill
<ul></ul><p>Chechout <a class="external" href="https://github.com/cforce/projects_tree_view/">https://github.com/cforce/projects_tree_view/</a></p> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=404062012-08-17T11:51:54ZAnonymous
<ul></ul><p>Terence Mill wrote:</p>
<blockquote>
<p>Chechout <a class="external" href="https://github.com/cforce/projects_tree_view/">https://github.com/cforce/projects_tree_view/</a></p>
</blockquote>
<p>it is does not work, when there are sublevels it starts behaving erratically folding levels you have not requested to be folded.<br />under Redmie 2.0.3</p> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=439012013-01-07T15:28:36ZDmitry Babenko
<ul></ul><p>Duplicates <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Projects list expanding and contracting (Closed)" href="https://www.redmine.org/issues/4913">#4913</a>.</p> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=439022013-01-07T15:33:49ZDaniel Felix
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Closed</i></li></ul><p>With any reason, this one has gets an update too instead of just it's duplicat. Please ignore.</p> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=439042013-01-07T15:35:04ZDaniel Felix
<ul><li><strong>Status</strong> changed from <i>Closed</i> to <i>Reopened</i></li></ul> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=439162013-01-08T07:49:13ZDima Volotskoy
<ul></ul><p>+1</p> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=540932014-01-03T07:49:52ZFrederic P
<ul></ul><p>+1 as we have a lot of nested projets.</p> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=568942014-06-19T11:36:38ZToshi MARUYAMA
<ul><li><strong>Status</strong> changed from <i>Reopened</i> to <i>New</i></li></ul> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=568972014-06-19T11:37:48ZToshi MARUYAMA
<ul><li><strong>Has duplicate</strong> <i><a class="issue tracker-2 status-5 priority-4 priority-default closed" href="/issues/16939">Feature #16939</a>: Hide/Show subprojects in "Projects" section</i> added</li></ul> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=591332014-10-14T21:25:54Zmike B
<ul></ul><p>+1 This would be a very good feature to have for organizations that have many projects with sub of sub of sub.</p> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=591622014-10-16T14:54:53ZChristian Ziegelt
<ul><li><strong>File</strong> <a href="/attachments/12483">Screenshot2.jpg</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/12483/Screenshot2.jpg">Screenshot2.jpg</a> added</li><li><strong>File</strong> <a href="/attachments/12482">Screenshot.jpg</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/12482/Screenshot.jpg">Screenshot.jpg</a> added</li></ul><p>A possible Solution:</p>
<p>I finaly gave up the idea with folding correctly. I guess its possible as well - but I am using another way now:</p>
<p>I installed the plugin "Favourite projects" [[<a class="external" href="http://www.redmine.org/plugins/redmine_favourite_projects">http://www.redmine.org/plugins/redmine_favourite_projects</a>]]<br />This way I select just the projects I am currently working on, or need to see constantly.</p>
<p>Then I changed the plugins views a little bit:<br /><em>./plugins/redmine_favorite_projects/app/views/projects/</em></p>
<p><strong>index.html.erb:</strong><br />Just added a few lines as java script in the beginning of the file - as a click handler for hiding not favorite projects<br /><pre>
<script>
$(function()
{
$('ul.side-nav a').click(function()
{
$('tr.project').hide();
$('tr.' + $(this).attr('class')).show();
});
$('ul.side-nav2 a').click(function()
{
$('th.description').hide();
$('td.description').hide();
});
});
</script>
.
.
.
<!-- inside the "Filter" dropdown are a few more links now ... -->
<div class="filters">
<fieldset id="filters" class="collapsible <%= 'collapsed' if no_filters %>">
<legend onclick="toggleFieldset(this);"><%= l(:label_filter_plural) %></legend>
<div style="<%= 'display: none;' if no_filters %>">
<p>
<span class="filter-condition">
<label for="closed"><%= check_box_tag 'closed', 1, params[:closed] %> <%= l(:label_show_closed_projects) %></label>
<ul class="side-nav">
<li><a class="project" href="#">Show all</a></li>
<li><a class="FAV_ON" href="#">Show only favorite</a></li>
</ul>
<ul class="side-nav2">
<li><a class="hide_description" href="#">Show only project</a></li>
</ul>
</span>
</p>
</div>
</fieldset>
<p class="buttons hide-when-print">
<%= link_to l(:button_apply), "#", :onclick=>"$('#query_form').submit()", :class => 'icon icon-checked' %>
<%= link_to l(:button_clear), { :set_filter => 1, :project_id => @project }, :class => 'icon icon-reload' %>
</p>
</div>
</pre></p>
<p><strong>_list.html.erb:</strong><br />Changed a few lines, to have classes for the html tags to hide them<br /><pre>
<table class="list">
<thead>
<tr>
<th style="width:25px"></th>
<th><%=l(:label_project)%></th>
<!--added class=... -->
<th class="description"><%=l(:field_description)%></th>
<!-- <th><%=l(:field_go_to)%></th> -->
<!-- <th><%=l(:field_created_on)%></th> -->
</tr>
</thead>
</pre></p>
<p>Added a value "favorite=..." and a function "favorite_status()" <br /><pre>
<% project_tree(@projects) do |project, level| %>
<tr class="<%= cycle("odd", "even") %> <%= project.css_classes %> <%= level > 0 ? "idnt idnt-#{level}" : nil %> <%= favorite_mark(project, User.current) %>" favorite="<%= favorite_status(project, User.current)%>">
<td><%= favorite_tag(project, User.current) %></td>
</pre></p>
<p>I also changed the helper file - I added the neccessary functions to mark what is favorite<br /><em>./plugins/redmine_favorite_projects/app/views/projects/favorite_projects_helper.rb</em> :</p>
<pre>
def favorite_mark(object, user, options={})
return '' unless user && user.logged? && user.member_of?(object)
favorite = FavoriteProject.favorite?(object.id, user.id)
favorite ? 'FAV_ON' : 'FAV_OFF'
end
def favorite_status(object, user, options={})
return '' unless user && user.logged? && user.member_of?(object)
favorite = FavoriteProject.favorite?(object.id, user.id)
favorite ? 'ON' : 'OFF'
end
</pre>
<p>I guess - this could be done much nicer - but it fits my needs.</p>
<p>In combination with Firefox and the "All-In-One sidebar" addon, I use the Multipanel feature from this addon to see my projectlist all the time.<br />Just navigate to your project list - open the sidebar with multipanel view and click on the double arrow icon left from the sidebars close symbol.</p>
<p>Now your projectlist is on the left side. If you click on your project the overview page will be opened on the right (main) panel.<br />I also changed my standard destination for projects to "issues" instead of the overview page.</p>
<p>Please see at the screenshots attached to get an idea.<br />If any questions remain, pease feel free to contact me.</p>
<p>Best<br />Christian</p> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=620942015-03-10T06:25:58Zxuchun sang
<ul></ul><p>for Redmine 2.6.0 support,chinese support</p>
<p><a class="external" href="http://www.redmine.org/boards/3/topics/45921">http://www.redmine.org/boards/3/topics/45921</a></p>
<p>other support:</p>
<p><a class="external" href="http://stackoverflow.com/questions/28363791/redmine-2-6-1-see-project-in-tree-view">http://stackoverflow.com/questions/28363791/redmine-2-6-1-see-project-in-tree-view</a></p>
<p><a class="external" href="http://sourceforge.net/p/projectstreeview/code/HEAD/tree/trunk/">http://sourceforge.net/p/projectstreeview/code/HEAD/tree/trunk/</a></p> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=644122015-06-23T15:34:22ZNicolas Delanou
<ul></ul><p>Is there any solution for the 3.0.+ yet ?</p> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=757552017-01-09T09:27:02ZSebastien Thibaud
<ul></ul><p>Dears All,</p>
<p>Here the solution I apply to meet my need.<br />No need to modify any ruby file nor to deploy plugin.<br />It is rendered directly by browser.</p>
<p>edit application.css of your theme (/redmine/public/themes/mytheme/stylesheets/application.css) then add :<br /><pre><code class="css syntaxhl"><span class="nt">span</span><span class="nc">.expcolroot</span><span class="o">,</span> <span class="nt">span</span><span class="nc">.expcolchild</span><span class="p">{</span>
<span class="nl">font-size</span><span class="p">:</span> <span class="m">8px</span><span class="p">;</span>
<span class="nl">line-height</span><span class="p">:</span><span class="m">8px</span><span class="p">;</span>
<span class="nl">font-weight</span> <span class="p">:</span> <span class="nb">bold</span><span class="p">;</span>
<span class="nl">cursor</span><span class="p">:</span> <span class="nb">pointer</span><span class="p">;</span>
<span class="nl">padding</span><span class="p">:</span><span class="m">1px</span><span class="p">;</span>
<span class="nl">width</span><span class="p">:</span> <span class="m">8px</span><span class="p">;</span>
<span class="nl">height</span><span class="p">:</span> <span class="m">8px</span><span class="p">;</span>
<span class="nl">border</span><span class="p">:</span><span class="m">1px</span> <span class="nb">solid</span> <span class="m">#999</span><span class="p">;</span>
<span class="nl">display</span><span class="p">:</span> <span class="n">inline-block</span><span class="p">;</span>
<span class="nl">margin-right</span><span class="p">:</span> <span class="m">3px</span><span class="p">;</span>
<span class="nl">text-align</span><span class="p">:</span> <span class="nb">center</span><span class="p">;</span>
<span class="nl">background-color</span><span class="p">:</span><span class="m">#ddd</span><span class="p">;</span>
<span class="nl">color</span><span class="p">:</span> <span class="m">#999</span><span class="p">;</span>
<span class="nl">border-radius</span><span class="p">:</span><span class="m">2px</span><span class="p">;</span>
<span class="p">}</span>
<span class="nt">span</span><span class="nc">.expcolroot</span><span class="nd">:hover</span><span class="o">,</span> <span class="nt">span</span><span class="nc">.expcolchild</span><span class="nd">:hover</span><span class="p">{</span>
<span class="nl">background-color</span><span class="p">:</span><span class="m">#999</span><span class="p">;</span>
<span class="nl">color</span><span class="p">:</span><span class="m">#fff</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></p>
<p>edit main application.js (eg:/redmine/public/javascripts/application.js), then add :</p>
<pre><code class="javascript syntaxhl"><span class="kd">function</span> <span class="nx">addProjectsListCollapse</span><span class="p">(){</span>
<span class="nx">$</span><span class="p">(</span> <span class="dl">"</span><span class="s2">div#projects-index div.root</span><span class="dl">"</span> <span class="p">).</span><span class="nx">prepend</span><span class="p">(</span> <span class="dl">"</span><span class="s2"><span class='expcolroot'>-</span></span><span class="dl">"</span> <span class="p">);</span>
<span class="nx">$</span><span class="p">(</span> <span class="dl">"</span><span class="s2">div#projects-index div.child</span><span class="dl">"</span> <span class="p">).</span><span class="nx">prepend</span><span class="p">(</span> <span class="dl">"</span><span class="s2"><span class='expcolchild'>-</span></span><span class="dl">"</span> <span class="p">);</span>
<span class="nx">$</span><span class="p">(</span> <span class="dl">"</span><span class="s2">span.expcolroot, span.expcolchild</span><span class="dl">"</span><span class="p">).</span><span class="nx">click</span><span class="p">(</span><span class="kd">function</span><span class="p">(){</span>
<span class="nx">$header</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">);</span>
<span class="nx">$content1</span> <span class="o">=</span> <span class="nx">$header</span><span class="p">.</span><span class="nx">parent</span><span class="p">().</span><span class="nx">next</span><span class="p">(</span><span class="dl">"</span><span class="s2">ul</span><span class="dl">"</span><span class="p">);</span>
<span class="nx">$content2</span> <span class="o">=</span> <span class="nx">$header</span><span class="p">.</span><span class="nx">parent</span><span class="p">().</span><span class="nx">children</span><span class="p">(</span><span class="dl">"</span><span class="s2">.description</span><span class="dl">"</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">$content1</span><span class="p">.</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">$content1</span><span class="p">.</span><span class="nx">slideToggle</span><span class="p">(</span><span class="mi">150</span><span class="p">,</span> <span class="kd">function</span> <span class="p">()</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">$content1</span><span class="p">.</span><span class="nx">is</span><span class="p">(</span><span class="dl">"</span><span class="s2">:hidden</span><span class="dl">"</span><span class="p">)){</span>
<span class="nx">$header</span><span class="p">.</span><span class="nx">html</span><span class="p">(</span><span class="dl">"</span><span class="s2">+</span><span class="dl">"</span><span class="p">);</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
<span class="nx">$header</span><span class="p">.</span><span class="nx">html</span><span class="p">(</span><span class="dl">"</span><span class="s2">-</span><span class="dl">"</span><span class="p">);</span>
<span class="p">}</span>
<span class="p">});</span>
<span class="p">}</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">$content2</span><span class="p">.</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">$content2</span><span class="p">.</span><span class="nx">slideToggle</span><span class="p">(</span><span class="mi">150</span><span class="p">,</span> <span class="kd">function</span> <span class="p">()</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">$content2</span><span class="p">.</span><span class="nx">is</span><span class="p">(</span><span class="dl">"</span><span class="s2">:hidden</span><span class="dl">"</span><span class="p">)){</span>
<span class="nx">$header</span><span class="p">.</span><span class="nx">html</span><span class="p">(</span><span class="dl">"</span><span class="s2">+</span><span class="dl">"</span><span class="p">);</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
<span class="nx">$header</span><span class="p">.</span><span class="nx">html</span><span class="p">(</span><span class="dl">"</span><span class="s2">-</span><span class="dl">"</span><span class="p">);</span>
<span class="p">}</span>
<span class="p">});</span>
<span class="p">}</span>
<span class="p">});</span>
<span class="p">}</span>
<span class="nx">$</span><span class="p">(</span><span class="nb">document</span><span class="p">).</span><span class="nx">ready</span><span class="p">(</span><span class="nx">addProjectsListCollapse</span><span class="p">);</span>
</code></pre>
<p>These short modifications will add a plus/minus sign on left of project title ([+]/[-])<br />It can show/hide project's discription and sub-projects list if present</p> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=772752017-03-14T15:36:17ZAnton Sergeev
<ul></ul><p>Here is <a href="https://github.com/anton-sergeev/redmine_subproject_collapse" class="external">Sub project collapse plugin</a> based on Sebastien Thibaud comment.</p> Redmine - Feature #7982: Folding project list (expand/collapse)https://www.redmine.org/issues/7982?journal_id=795522017-06-28T21:25:00ZTom Lithgow
<ul></ul><p>Hello All,</p>
<p>We could very much do with the collapse Projects feature also as we have many projects that also include sub projects.</p>
<p>Anton Sergeev, you solution looks neat but we have tried this and while the plugin shows up the Projects page has not changed to reflect the collapse arrows. Do we need the Favourite Projects Plugin as mentioned in Sebastien's solution?</p>
<p>Thank you for the help.</p>