Commit 07288102640183e748656ffe3271282d2d307734

Authored by AurelioAHeckert
1 parent 78cfdefb

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
app/helpers/application_helper.rb
... ... @@ -454,16 +454,36 @@ module ApplicationHelper
454 454 def select_categories(object_name)
455 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 469 environment.top_level_categories.each do |toplevel|
459 470 toplevel.map_traversal do |cat|
460 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 474 result << content_tag('h5', toplevel.name)
  475 + result << '<div style="display:none"><ul class="categories">'
462 476 else
463 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, " &rarr; "),
  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 484 end
466 485 end
  486 + result << '</ul></div></div>'
467 487 end
468 488  
469 489 content_tag('div', result)
... ...
public/designs/themes/default/stylesheets/controller_cms.css 0 → 100644
... ... @@ -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 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 +
... ...