Commit 8664a3246fd0e4bd690d9e43f61dd51f46522f8f

Authored by Aurélio A. Heckert
1 parent aaccd5c4

code beauty to article_block

app/models/article_block.rb
@@ -12,7 +12,11 @@ class ArticleBlock < Block @@ -12,7 +12,11 @@ class ArticleBlock < Block
12 block = self 12 block = self
13 lambda do 13 lambda do
14 block_title(block.title) + 14 block_title(block.title) +
15 - (block.article ? article_to_html(block.article, :gallery_view=>false, :inside_block=>block) : _('Article not selected yet.')) 15 + (block.article ? article_to_html(block.article,
  16 + :gallery_view => false,
  17 + :inside_block => block, # For Blogs and folders
  18 + :format => block.visualization_format # For Articles and contents
  19 + ) : _('Article not selected yet.'))
16 end 20 end
17 end 21 end
18 22
app/views/box_organizer/_article_block.rhtml
@@ -9,15 +9,33 @@ @@ -9,15 +9,33 @@
9 firstText = articles[articles.find_index{|a| a.kind_of?TextArticle}||-1] 9 firstText = articles[articles.find_index{|a| a.kind_of?TextArticle}||-1]
10 selected = @block.article || firstText 10 selected = @block.article || firstText
11 %> 11 %>
12 - <%= select_tag('block[article_id]', options_for_select_with_title(articles.map {|item| [item.path, item.id]}, selected.id), :onchange => 'jQuery("#block_blog_options").toggle(this.blogs.indexOf(this.value) != -1)') %>  
13 - <div id="block_blog_options">  
14 - <%= labelled_form_field( _('Number of posts:'), text_field_tag('block[posts_per_page]', @block.posts_per_page) ) %>  
15 - <%= labelled_form_field( _('How to display posts:'), select_tag('block[visualization_format]', options_for_select([[_('First paragraph'), 'short'], [_('Full post'), 'full']], @block.visualization_format))) %> 12 + <%= select_tag(
  13 + 'block[article_id]',
  14 + options_for_select_with_title(articles.map {|item| [item.path, item.id]}, selected.id),
  15 + :onchange => 'this.changedTo(this.value)'
  16 + )%>
  17 + <div id="block_blog_options" style="display:none">
  18 + <%= labelled_form_field(
  19 + _('Number of posts:'),
  20 + text_field_tag('block[posts_per_page]', @block.posts_per_page)
  21 + )%>
16 </div> 22 </div>
  23 + <%= labelled_form_field(
  24 + _('How to display this content:'),
  25 + select_tag(
  26 + 'block[visualization_format]',
  27 + options_for_select([[_('Lead'), 'short'], [_('Full post'), 'full']], @block.visualization_format)
  28 + )
  29 + )%>
17 <% blogs = @block.available_articles.select{|a|a.blog?} %> 30 <% blogs = @block.available_articles.select{|a|a.blog?} %>
18 <script> 31 <script>
19 - jQuery("#block_article_id")[0].blogs = <%= blogs.map{|b| b.id.to_s }.to_json %>;  
20 - jQuery("#block_blog_options").toggle(<%= blogs.include?(selected) %>); 32 + var select = jQuery("#block_article_id")[0];
  33 + select.blogs = <%= blogs.map{|b| b.id.to_s }.to_json %>;
  34 + select.changedTo = function(articleId) {
  35 + var blogSelected = this.blogs.indexOf(articleId) != -1;
  36 + jQuery("#block_blog_options").toggle(blogSelected);
  37 + }
  38 + select.changedTo('<%= selected.id %>');
21 </script> 39 </script>
22 <% end %> 40 <% end %>
23 </div> 41 </div>