Add sub_menu in r_tags

This commit is contained in:
Christophe Vilayphiou committed 2012-04-24 02:30:40 +08:00
1 parent db1b84e962
commit a5b13e680f
8 files changed
+43 -4

No files matched your search

+4
View File
@@ -24,6 +24,10 @@ $("#module_app_list select").live('change', function() {
$.getScript($(this).attr('rel') + '/' + $(this).val() + '/reload_widgets');
});
$("#tag_list select").live('change', function() {
$.getScript($(this).attr('rel') + '/' + $(this).val() + '/reload_r_tag_options');
});
$('.part_kind').live('click', function() {
$('.part_kind_partial').hide();
$('#part_' + $(this).attr('value')).show();
@@ -25,7 +25,7 @@ class Admin::PagePartsController < ApplicationController
@module_apps = ModuleApp.all(:conditions => {:enable_frontend => true})
@module_app = @part.module_app ? @part.module_app : @module_apps[0]
@r_tag = @part.public_r_tag.blank? ? LIST[:public_r_tags][0] : @part.public_r_tag
@tag_objects = @r_tag.classify.constantize.all
@tag_objects = @r_tag.classify.constantize.all rescue nil
case @module_app.key
when 'bulletin'
@categories = BulletinCategory.all
@@ -74,5 +74,13 @@ class Admin::PagePartsController < ApplicationController
format.js {}
end
end
def reload_r_tag_options
@r_tag = (ModuleApp.find(params[:id]) rescue nil) || params[:id]
@tag_objects = @r_tag.classify.constantize.all rescue nil
respond_to do |format|
format.js {}
end
end
end
+1 -1
View File
@@ -7,7 +7,7 @@ class PagePart
field :content
field :kind
field :public_r_tag
field :public_r_tag_object_id, :type => BSON::ObjectId, :default => nil
field :public_r_tag_object_id, :default => nil
field :widget_path
has_one :i18n_variable, :as => :language_value, :autosave => true, :dependent => :destroy
@@ -1,7 +1,11 @@
<span id='tag_list'>
<%= f.select :public_r_tag, LIST[:public_r_tags].collect{|tag| [t(tag), tag]}, :selected => @r_tag %>
<%= f.select :public_r_tag, LIST[:public_r_tags].collect{|tag| [t(tag), tag]}, {:selected => @r_tag}, {:rel => admin_page_parts_path} %>
</span>
<span id='name_list'>
<%= f.select :public_r_tag_object_id, options_from_collection_for_select(@tag_objects, :id, :title, :selected => @part.public_r_tag_object_id) %>
<% if @r_tag.eql?('sub_menu') %>
<%= f.select :public_r_tag_object_id, options_for_select([t(:horizontal), t(:vertical)], t(:horizontal)) %>
<% else %>
<%= f.select :public_r_tag_object_id, options_from_collection_for_select(@tag_objects, :id, :title, :selected => @part.public_r_tag_object_id) %>
<% end %>
</span>
@@ -0,0 +1,5 @@
<% if @r_tag.eql?('sub_menu') %>
$('#name_list select').html("<%= j options_for_select(t(:horizontal) => :horizontal, t(:vertical) => :vertical) %>")
<% else %>
$('#name_list select').html("<%= j options_from_collection_for_select(@tag_objects, :id, :title) %>")
<% end %>