Commit 07288102640183e748656ffe3271282d2d307734
1 parent
78cfdefb
Exists in
staging
and in
42 other branches
ActionItem340: there are a better article editor layout
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1720 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
3 changed files
with
66 additions
and
2 deletions
Show diff stats
app/helpers/application_helper.rb
| @@ -454,16 +454,36 @@ module ApplicationHelper | @@ -454,16 +454,36 @@ module ApplicationHelper | ||
| 454 | def select_categories(object_name) | 454 | def select_categories(object_name) |
| 455 | object = instance_variable_get("@#{object_name}") | 455 | object = instance_variable_get("@#{object_name}") |
| 456 | 456 | ||
| 457 | - result = content_tag('h4', _('Categories')) | 457 | + result = content_tag 'h4', _('Categories') |
| 458 | + result << javascript_tag( 'function open_close_cat( link ) { | ||
| 459 | + var div = link.parentNode.getElementsByTagName("div")[0]; | ||
| 460 | + var end = function(){ | ||
| 461 | + if ( div.style.display == "none" ) { | ||
| 462 | + this.link.className="button icon-button icon-down" | ||
| 463 | + } else { | ||
| 464 | + this.link.className="button icon-button icon-up" | ||
| 465 | + } | ||
| 466 | + } | ||
| 467 | + Effect.toggle( div, "slide", { link:link, div:div, afterFinish:end } ) | ||
| 468 | + }') | ||
| 458 | environment.top_level_categories.each do |toplevel| | 469 | environment.top_level_categories.each do |toplevel| |
| 459 | toplevel.map_traversal do |cat| | 470 | toplevel.map_traversal do |cat| |
| 460 | if cat.top_level? | 471 | if cat.top_level? |
| 472 | + result << '<div class="categorie_box">' | ||
| 473 | + result << icon_button( :down, _('open'), '#', :onclick => 'open_close_cat(this); return false' ) | ||
| 461 | result << content_tag('h5', toplevel.name) | 474 | result << content_tag('h5', toplevel.name) |
| 475 | + result << '<div style="display:none"><ul class="categories">' | ||
| 462 | else | 476 | else |
| 463 | checkbox_id = "#{object_name}_#{cat.full_name.downcase.gsub(/\s+|\//, '_')}" | 477 | checkbox_id = "#{object_name}_#{cat.full_name.downcase.gsub(/\s+|\//, '_')}" |
| 464 | - result << content_tag('label', check_box_tag("#{object_name}[category_ids][]", cat.id, object.category_ids.include?(cat.id), :id => checkbox_id) + cat.full_name_without_leading(1), :for => checkbox_id) | 478 | + result << content_tag('li', labelled_check_box( |
| 479 | + cat.full_name_without_leading(1, " → "), | ||
| 480 | + "#{object_name}[category_ids][]", cat.id, | ||
| 481 | + object.category_ids.include?(cat.id), :id => checkbox_id, | ||
| 482 | + :onchange => 'this.parentNode.className=(this.checked?"cat_checked":"")' ), | ||
| 483 | + :class => ( object.category_ids.include?(cat.id) ? 'cat_checked' : '' ) ) + "\n" | ||
| 465 | end | 484 | end |
| 466 | end | 485 | end |
| 486 | + result << '</ul></div></div>' | ||
| 467 | end | 487 | end |
| 468 | 488 | ||
| 469 | content_tag('div', result) | 489 | content_tag('div', result) |
public/designs/themes/default/stylesheets/controller_cms.css
0 → 100644
| @@ -0,0 +1,27 @@ | @@ -0,0 +1,27 @@ | ||
| 1 | + | ||
| 2 | +.categorie_box { | ||
| 3 | + -moz-border-radius: 4px; | ||
| 4 | + border: 1px solid #729FCF; | ||
| 5 | + margin-bottom: 2px; | ||
| 6 | + padding: 2px 0px; | ||
| 7 | +} | ||
| 8 | + | ||
| 9 | +#content .categorie_box h5 { | ||
| 10 | + margin: 0px; | ||
| 11 | + padding: 0px; | ||
| 12 | + line-height: 22px; | ||
| 13 | +} | ||
| 14 | + | ||
| 15 | +#content ul.categories { | ||
| 16 | + padding: 5px 4px 3px 4px; | ||
| 17 | +} | ||
| 18 | + | ||
| 19 | +ul.categories li { | ||
| 20 | + -moz-border-radius: 9px; | ||
| 21 | + border-bottom: 1px solid #FFF; | ||
| 22 | +} | ||
| 23 | + | ||
| 24 | +ul.categories li.cat_checked { | ||
| 25 | + border-bottom: 1px solid #729FCF; | ||
| 26 | +} | ||
| 27 | + |
public/stylesheets/controller_cms.css
| @@ -42,3 +42,20 @@ | @@ -42,3 +42,20 @@ | ||
| 42 | top: -5px; | 42 | top: -5px; |
| 43 | } | 43 | } |
| 44 | 44 | ||
| 45 | +.categorie_box .button { | ||
| 46 | + float: left; | ||
| 47 | +} | ||
| 48 | +.categorie_box h5 { | ||
| 49 | + line-height: 24px; | ||
| 50 | +} | ||
| 51 | + | ||
| 52 | +#content ul.categories, | ||
| 53 | +#content ul.categories li { | ||
| 54 | + margin: 0px; | ||
| 55 | + padding: 1px 0px 1px 4px; | ||
| 56 | + list-style: none; | ||
| 57 | +} | ||
| 58 | +ul.categories li.cat_checked { | ||
| 59 | + background: #B8CFE7; | ||
| 60 | +} | ||
| 61 | + |