page can use default widget
This commit is contained in:
parent
9630d0a841
commit
0cc616f988
|
@ -1,5 +1,11 @@
|
|||
function get_part_id(){
|
||||
return $(".edit_page_part").attr("action").split('/').pop();
|
||||
return $(".edit_page_part,.edit_page").attr("action").split('/').pop();
|
||||
}
|
||||
|
||||
function get_object_path(){
|
||||
a = window.location.href.split('/');
|
||||
a.pop();
|
||||
return a.join('/');
|
||||
}
|
||||
|
||||
$("div.editable").live("mouseenter mouseleave", function (event) {
|
||||
|
@ -10,26 +16,26 @@ $("#page_design").live('change', function() {
|
|||
$.getScript($(this).attr('rel') + '/' + $(this).val() + '/reload_themes');
|
||||
});
|
||||
|
||||
$("#page_module_app_id").live('change', function() {
|
||||
var app_id = $(this).val();
|
||||
if(app_id!=''){
|
||||
$.getScript($(this).attr('rel') + '/' + $(this).val() + '/reload_frontend_pages',function(data, textStatus){
|
||||
if(textStatus == 'success'){
|
||||
$(this).after(data);
|
||||
}
|
||||
});
|
||||
}
|
||||
else{
|
||||
$("#app_page_url").children().remove();
|
||||
}
|
||||
});
|
||||
// $("#page_module_app_id").live('change', function() {
|
||||
// var app_id = $(this).val();
|
||||
// if(app_id!=''){
|
||||
// $.getScript($(this).attr('rel') + '/' + $(this).val() + '/reload_after_module_changed',function(data, textStatus){
|
||||
// if(textStatus == 'success'){
|
||||
// $(this).after(data);
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
// else{
|
||||
// $("#app_page_url").children().remove();
|
||||
// }
|
||||
// });
|
||||
|
||||
$("#module_app_list select").live('change', function() {
|
||||
$.getScript($(this).attr('rel') + '/' + $(this).val() + '/reload_widgets?part_id=' + get_part_id());
|
||||
$.getScript(get_object_path() + '/reload_after_module_changed?module_app_id='+$(this).val()); //?part_id=' + get_part_id());
|
||||
});
|
||||
|
||||
$("#widget_list select").live('change', function() {
|
||||
$.getScript($(this).attr('rel') + '/' + $(this).val() + '/reload_widget_styles?module_app_id=' + $("#module_app_list select").val() + '&part_id=' + get_part_id());
|
||||
$("#widget_list select,#frontend_list select").live('change', function() {
|
||||
$.getScript(get_object_path() +'/reload_after_list_changed?frontend=' + $(this).val() + '&module_app_id=' + $("#module_app_list select").val() );//+ '&part_id=' + get_part_id());
|
||||
});
|
||||
|
||||
$("#tag_list select").live('change', function() {
|
||||
|
|
|
@ -9,32 +9,6 @@ class Admin::ModuleAppsController < ApplicationController
|
|||
end
|
||||
|
||||
|
||||
def reload_frontend_pages
|
||||
@categories =[]
|
||||
@module_app = ModuleApp.find(params[:id])
|
||||
|
||||
@frontend_path = @module_app.widgets.keys[0] if ( !@module_app.widgets.blank? && @module_app.widgets[0].blank? )
|
||||
|
||||
@frontend_style = @module_app.widgets[@frontend_path] if ( !@frontend_path.blank? )
|
||||
|
||||
case @module_app.key
|
||||
when 'announcement'
|
||||
@categories = BulletinCategory.all
|
||||
@tags = AnnouncementTag.all
|
||||
when 'news'
|
||||
@categories = NewsBulletinCategory.all
|
||||
@tags = NewsTag.all
|
||||
when 'web_resource'
|
||||
@categories = WebLinkCategory.all
|
||||
@tags = WebResourceTag.all
|
||||
when 'archive'
|
||||
@categories = ArchiveFileCategory.all
|
||||
@tags = ArchiveTag.all
|
||||
end
|
||||
respond_to do |format|
|
||||
format.js {}
|
||||
end
|
||||
end
|
||||
|
||||
def module_auth_proc
|
||||
@module_app = ModuleApp.find(params[:id])
|
||||
|
@ -136,7 +110,6 @@ class Admin::ModuleAppsController < ApplicationController
|
|||
end
|
||||
#user is not permited to do that
|
||||
flash[:notice] = t('app_auth.operation_not_permitted')
|
||||
render :nothing => true, :status => 403
|
||||
end
|
||||
|
||||
render :nothing => true,:status => 403
|
||||
end
|
||||
end
|
|
@ -91,9 +91,9 @@ class Admin::PagePartsController < ApplicationController
|
|||
end
|
||||
|
||||
def reload_widgets
|
||||
@part = PagePart.find params[:part_id]
|
||||
@part = PagePart.find params[:id]
|
||||
@categories =[]
|
||||
@module_app = ModuleApp.find(params[:id])
|
||||
@module_app = ModuleApp.find(params[:module_app_id])
|
||||
|
||||
@widget_path = @module_app.widgets.keys[0] if ( @module_app.widgets[0].blank? )
|
||||
|
||||
|
@ -122,9 +122,9 @@ class Admin::PagePartsController < ApplicationController
|
|||
|
||||
def reload_widget_styles
|
||||
@module_app = ModuleApp.find(params[:module_app_id])
|
||||
@part = PagePart.find params[:part_id]
|
||||
@user_choose =@widget_path= params[:id]
|
||||
@widget_style = @module_app.widgets[params[:id]]
|
||||
@part = PagePart.find params[:id]
|
||||
@user_choose =@widget_path= params[:frontend]
|
||||
@widget_style = @module_app.widgets[@widget_path]
|
||||
|
||||
respond_to do |format|
|
||||
format.js {}
|
||||
|
|
|
@ -19,14 +19,20 @@ helper Admin::PagePartsHelper
|
|||
end
|
||||
|
||||
def edit
|
||||
@item = Page.find(params[:id])
|
||||
@item = @page =Page.find(params[:id])
|
||||
@user_choose = @item.app_frontend_url
|
||||
@apps = ModuleApp.excludes(app_pages: nil).entries
|
||||
|
||||
@module_apps = ModuleApp.excludes(widgets: nil).where(enable_frontend: true).order_by(:title, :asc)
|
||||
|
||||
@designs = Design.all.entries
|
||||
@design = @item.design ? @item.design : @designs.first
|
||||
@app_frontend_urls = @item.module_app.app_pages if @item.module_app
|
||||
|
||||
if @item.module_app
|
||||
@app_frontend_urls = @item.module_app.app_pages
|
||||
@app_frontend_urls << 'default_widget' if @item.module_app.has_default_widget?
|
||||
end
|
||||
|
||||
|
||||
if @item.module_app
|
||||
@module_app = @item.module_app
|
||||
|
@ -84,12 +90,12 @@ helper Admin::PagePartsHelper
|
|||
def update
|
||||
@item = Page.find(params[:id])
|
||||
|
||||
if @item.module_app && @item.module_app.key == 'page_content' && @item.page_contexts.blank?
|
||||
@item.page_contexts.build(:create_user_id => current_user.id, :update_user_id => current_user.id )
|
||||
end
|
||||
if @item.module_app && @item.module_app.key == 'page_content' && @item.page_contexts.blank?
|
||||
@item.page_contexts.build(:create_user_id => current_user.id, :update_user_id => current_user.id )
|
||||
end
|
||||
|
||||
params[:page][:frontend_field] = params[:page][:frontend_field].zip( params[:page][:frontend_field_type] ) if params[:page][:frontend_field]
|
||||
params[:page][:frontend_field_type] = nil
|
||||
params[:page][:frontend_field] = params[:page][:frontend_field].zip( params[:page][:frontend_field_type] ) if params[:page][:frontend_field]
|
||||
params[:page][:frontend_field_type] = nil
|
||||
|
||||
if @item.update_attributes(params[:page])
|
||||
flash[:notice] = t('update.success.page')
|
||||
|
@ -124,6 +130,43 @@ helper Admin::PagePartsHelper
|
|||
end
|
||||
end
|
||||
|
||||
def reload_front_end_setting
|
||||
@page = Page.find params[:id]
|
||||
@module_app = ModuleApp.find params[:module_app_id]
|
||||
@chosen_frontend = @user_choose = params[:frontend]
|
||||
end
|
||||
|
||||
def reload_frontend_pages
|
||||
@page = Page.find params[:id]
|
||||
# @categories =[]
|
||||
@module_app = ModuleApp.find(params[:module_app_id])
|
||||
|
||||
@app_frontend_urls = @module_app.app_pages
|
||||
@app_frontend_urls << 'default_widget' if @module_app.has_default_widget?
|
||||
|
||||
|
||||
case @module_app.key
|
||||
when 'announcement'
|
||||
@categories = BulletinCategory.all
|
||||
@tags = AnnouncementTag.all
|
||||
when 'news'
|
||||
@categories = NewsBulletinCategory.all
|
||||
@tags = NewsTag.all
|
||||
when 'web_resource'
|
||||
@categories = WebLinkCategory.all
|
||||
@tags = WebResourceTag.all
|
||||
when 'archive'
|
||||
@categories = ArchiveFileCategory.all
|
||||
@tags = ArchiveTag.all
|
||||
else
|
||||
@categories = []
|
||||
@tags = []
|
||||
end
|
||||
respond_to do |format|
|
||||
format.js {}
|
||||
end
|
||||
end
|
||||
|
||||
def reload_themes
|
||||
@design = Design.find(params[:id])
|
||||
@themes = @design.themes
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
class DefaultWidgetController< OrbitWidgetController
|
||||
|
||||
def front_end_available(var)
|
||||
@page_part = PagePart.find params[:part_id]
|
||||
@page_part = case params[:item_type]
|
||||
when "page"
|
||||
Page.find params[:page_id]
|
||||
when "page_part"
|
||||
PagePart.find params[:part_id]
|
||||
end
|
||||
@page_part.module_app.enable_frontend?
|
||||
end
|
||||
|
||||
|
@ -9,10 +14,17 @@ class DefaultWidgetController< OrbitWidgetController
|
|||
@tag_class = nil
|
||||
|
||||
@default_widget = @page_part.module_app.get_default_widget
|
||||
@widget_image_field = @default_widget[:image]
|
||||
data_limit = @page_part.widget_data_count.is_a?(Fixnum) ? @page_part.widget_data_count : (@page_part.widget_data_count.to_i rescue 3)
|
||||
@widget_image_field = @default_widget["image"] || @default_widget[:image]
|
||||
data_limit = case @page_part
|
||||
when Page
|
||||
@fields = @page_part.frontend_field
|
||||
@page_part.frontend_data_count.is_a?(Fixnum) ? @page_part.frontend_data_count : (@page_part.frontend_data_count.to_i rescue 3)
|
||||
when PagePart
|
||||
@fields = @page_part.widget_field
|
||||
@page_part.widget_data_count.is_a?(Fixnum) ? @page_part.widget_data_count : (@page_part.widget_data_count.to_i rescue 3)
|
||||
end
|
||||
@data = eval(@default_widget["query"]).limit(data_limit).includes(@widget_image_field)
|
||||
@fields = @page_part.widget_field
|
||||
|
||||
|
||||
case params[:type]
|
||||
when "typeA"
|
||||
|
|
|
@ -10,33 +10,60 @@ module Admin::PagePartsHelper
|
|||
end
|
||||
|
||||
def widget_field_options(i,local_item=nil)
|
||||
local_item = @part if local_item.nil?
|
||||
local_item = @part if local_item.nil? && @part
|
||||
local_item = @page if local_item.nil? && @page
|
||||
options = @module_app.widget_fields.collect{|widget_field| [I18n.t(widget_field[1]), widget_field[0]]}
|
||||
options_for_select(options, (local_item[:widget_field][i][0] if (local_item && !local_item[:widget_field].blank? && !local_item[:widget_field][i].blank?)) )
|
||||
|
||||
case local_item
|
||||
when Page
|
||||
options_for_select(options, (local_item[:frontend_field][i][0] if (local_item && !local_item[:frontend_field].blank? && !local_item[:frontend_field][i].blank?)) )
|
||||
when PagePart
|
||||
options_for_select(options, (local_item[:widget_field][i][0] if (local_item && !local_item[:widget_field].blank? && !local_item[:widget_field][i].blank?)) )
|
||||
end
|
||||
end
|
||||
|
||||
def widget_fiield_type_options(i,local_item=nil)
|
||||
options = LIST[:widget_field_type].collect{|widget_field| [widget_field.humanize, widget_field]}
|
||||
local_item = @part if local_item.nil?
|
||||
options_for_select(options, (local_item[:widget_field][i][1] if (local_item && !local_item[:widget_field].blank? && !local_item[:widget_field][i].blank?)) )
|
||||
local_item = @part if local_item.nil? && @part
|
||||
local_item = @page if local_item.nil? && @page
|
||||
|
||||
case local_item
|
||||
when Page
|
||||
options_for_select(options, (local_item[:frontend_field][i][1] if (local_item && !local_item[:frontend_field].blank? && !local_item[:frontend_field][i].blank?)) )
|
||||
when PagePart
|
||||
options_for_select(options, (local_item[:widget_field][i][1] if (local_item && !local_item[:widget_field].blank? && !local_item[:widget_field][i].blank?)) )
|
||||
end
|
||||
end
|
||||
|
||||
def tag_checked_value(part,radio_value)
|
||||
part and (part[:tag] == radio_value) ? true : false
|
||||
part and (part[:tag] == radio_value.to_s) ? true : false
|
||||
end
|
||||
|
||||
|
||||
def category_checked_value(part,radio_value)
|
||||
part and (part[:category] == radio_value) ? true : false
|
||||
part and (part[:category] == radio_value.to_s) ? true : false
|
||||
end
|
||||
|
||||
def style_checked_value(part,radio_value)
|
||||
part and (part.widget_style == radio_value) ? true : false
|
||||
case part
|
||||
when Page
|
||||
(part.frontend_style == radio_value) ? true : false
|
||||
when PagePart
|
||||
(part.widget_style == radio_value) ? true : false
|
||||
when nil
|
||||
false
|
||||
end
|
||||
end
|
||||
|
||||
def nil_radio_button(part,tag_or_cate)
|
||||
field_name = case part
|
||||
when PagePart
|
||||
'page_part'
|
||||
when Page
|
||||
'page'
|
||||
end
|
||||
content_tag :label,:class=>"radio inline" do
|
||||
op = radio_button("page_part", tag_or_cate, '' , :checked => eval("#{tag_or_cate}_checked_value(part,'')"))
|
||||
op = radio_button(field_name, tag_or_cate, '' , :checked => eval("#{tag_or_cate}_checked_value(part,'')"))
|
||||
op << I18n.t("default_widget.no_value")
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
$('#app_page_url').html("<%= escape_javascript(select 'page', 'app_frontend_url', @module_app.app_pages) %>");
|
||||
$('#app_page_frontend_style').html("<%= escape_javascript(select 'page', 'frontend_style', @module_app.widgets[@frontend_path]) if !@frontend_path.blank? %>");
|
||||
$('#app_page_category').html("<%= j (select 'page', 'category', @categories.collect{|category| [category.title, category.id]}, {:include_blank => true}) if @categories %>");
|
||||
$('#app_page_tag').html("<%= j (select 'page', 'tag', @tags.collect{|tag| [tag[I18n.locale], tag.id]}, {:include_blank => true}) if @tags %>");
|
||||
$('#app_page_frontend_field').html("<%= j render '../admin/pages/frontend_fields' %>")
|
|
@ -3,14 +3,13 @@
|
|||
<%= t("default_widget.select_widget_style") %>
|
||||
</label>
|
||||
<div class="controls well">
|
||||
<% if @module_app.widgets[@widget_path].blank? %>
|
||||
<% if @module_app.widgets.nil? || (@module_app.widgets[@widget_path].blank? rescue true) %>
|
||||
<%= t("default_widget.no_support_setting")%>
|
||||
<%else%>
|
||||
<%= select('page_part', 'widget_style', @module_app.widgets[@widget_path]) %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% if(@module_app.widget_options && @module_app.widget_options.has_key?(@widget_path)) %>
|
||||
<div class="style_switch control-group">
|
||||
<label class="control-label"><%= t("default_widget.select_widget_ext_option") %></label>
|
||||
|
|
|
@ -1,6 +1,17 @@
|
|||
<% case object%>
|
||||
<% when PagePart %>
|
||||
<% object_name = 'page_part' %>
|
||||
<% field_name = 'widget_field' %>
|
||||
<% data_count = 'widget_data_count' %>
|
||||
<% when Page %>
|
||||
<% object_name = 'page' %>
|
||||
<% field_name = 'frontend_field' %>
|
||||
<% data_count = 'frontend_data_count' %>
|
||||
<% end %>
|
||||
|
||||
<div class="style_switch control-group">
|
||||
<label class="control-label">
|
||||
<%= t("default_widget.NoName") %>
|
||||
<%= t("default_widget.fields_") %>
|
||||
</label>
|
||||
<div id="widget_field" class="well clear controls">
|
||||
|
||||
|
@ -20,20 +31,24 @@
|
|||
<div class="rows clear">
|
||||
<span class="span4">
|
||||
<%= i+1 %>
|
||||
<%= select_tag "page_part[widget_field][]", widget_field_options(i), :include_blank => true %>
|
||||
<%= select_tag "#{object_name}[#{field_name}][]", widget_field_options(i), :include_blank => true %>
|
||||
</span>
|
||||
<span class="span3">
|
||||
<%= select_tag "page_part[widget_field_type][]", widget_fiield_type_options(i), :include_blank => true %> <br />
|
||||
<%= select_tag "#{object_name}[#{field_name}_type][]", widget_fiield_type_options(i), :include_blank => true %> <br />
|
||||
</span>
|
||||
<span class="span5"></span>
|
||||
</div><br/>
|
||||
<% end %>
|
||||
<br/>
|
||||
<div class="rows clear">
|
||||
<span class="span4"><%= label_tag t("default_widget.widget_data_count") %></span>
|
||||
<span class="span4">
|
||||
<%= label_tag t("default_widget.widget_data_count") %>
|
||||
</span>
|
||||
</div>
|
||||
<div class="rows clear">
|
||||
<span class="span4"><%= text_field_tag :widget_data_count,@part.widget_data_count %></span>
|
||||
<span class="span4">
|
||||
<%= text_field_tag "#{object_name}[#{data_count}]",object.send(data_count) %>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -1,3 +1,11 @@
|
|||
<% field_name='' %>
|
||||
<% case object %>
|
||||
<% when Page %>
|
||||
<% field_name = "page[frontend_style]" %>
|
||||
<% when PagePart %>
|
||||
<% field_name = "page_part[widget_style]" %>
|
||||
<% end %>
|
||||
|
||||
<div class="style_switch control-group">
|
||||
<label class="control-label">
|
||||
<%= t("default_widget.select_widget_style") %>
|
||||
|
@ -6,7 +14,7 @@
|
|||
<ul class="clear">
|
||||
<li>
|
||||
<label class="radio style_radio">
|
||||
<%= radio_button_tag :widget_style,"typeA",:checked => style_checked_value(@part,"typeA") %>
|
||||
<%= radio_button_tag field_name,"typeA",style_checked_value(object,"typeA") %>
|
||||
1
|
||||
<span class="style_img"><%=image_tag 'module/default_widgets/style01.png'%></span>
|
||||
<span class="style_description"><%= t("default_widget.caption.typeA") %></span>
|
||||
|
@ -15,7 +23,7 @@
|
|||
</li>
|
||||
<li>
|
||||
<label class="radio style_radio">
|
||||
<%= radio_button_tag :widget_style,"typeB_style2",:checked => style_checked_value(@part,"typeB_style2") %>
|
||||
<%= radio_button_tag field_name,"typeB_style2",style_checked_value(object,"typeB_style2") %>
|
||||
2
|
||||
<span class="style_img"><%=image_tag 'module/default_widgets/style02.png'%></span>
|
||||
<span class="style_description"><%= t("default_widget.caption.typeA") %></span>
|
||||
|
@ -23,7 +31,7 @@
|
|||
</li>
|
||||
<li>
|
||||
<label class="radio style_radio">
|
||||
<%= radio_button_tag :widget_style,"typeB_style3",:checked => style_checked_value(@part,"typeB_style3") %>
|
||||
<%= radio_button_tag field_name,"typeB_style3",style_checked_value(object,"typeB_style3") %>
|
||||
3
|
||||
<span class="style_img"><%=image_tag 'module/default_widgets/style03.png'%></span>
|
||||
<span class="style_description"><%= t("default_widget.caption.typeB_style3") %></span>
|
||||
|
@ -31,7 +39,7 @@
|
|||
</li>
|
||||
<li>
|
||||
<label class="radio style_radio">
|
||||
<%= radio_button_tag :widget_style,"typeB_style4",:checked => style_checked_value(@part,"typeB_style4") %>
|
||||
<%= radio_button_tag field_name,"typeB_style4",style_checked_value(object,"typeB_style4") %>
|
||||
4
|
||||
<span class="style_img"><%=image_tag 'module/default_widgets/style04.png'%></span>
|
||||
<span class="style_description"><%= t("default_widget.caption.typeB_style4") %></span>
|
||||
|
@ -39,7 +47,7 @@
|
|||
</li>
|
||||
<li>
|
||||
<label class="radio style_radio">
|
||||
<%= radio_button_tag :widget_style,"typeC",:checked => style_checked_value(@part,"typeC") %>
|
||||
<%= radio_button_tag field_name,"typeC",style_checked_value(object,"typeC") %>
|
||||
5
|
||||
<span class="style_img"><%=image_tag 'module/default_widgets/style05.png'%></span>
|
||||
<span class="style_description"><%= t("default_widget.caption.typeC") %></span>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<%= t "default_widget.select_module_app" %>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<%= f.select :module_app, options_from_collection_for_select(@module_apps, :id, :title, :selected => @module_app.id), {}, {:rel => admin_page_parts_path} %>
|
||||
<%= f.select :module_app, options_from_collection_for_select(@module_apps, :id, :title, :selected => @module_app.id), {}, {:rel => admin_page_parts_path,:id=>"page_module_app_id"} %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -32,17 +32,17 @@
|
|||
|
||||
<div id="widget_option">
|
||||
<div id="widget_data_source_category" class="control-group">
|
||||
<%= render :partial => 'widget_data_source_category' %>
|
||||
<%= render :partial => 'widget_data_source_category' ,:locals=>{:object=>@part}%>
|
||||
</div>
|
||||
<div id="widget_data_source_tag" class="control-group">
|
||||
<%= render :partial => 'widget_data_source_tag' %>
|
||||
<%= render :partial => 'widget_data_source_tag' ,:locals=>{:object=>@part} %>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="widget_setting">
|
||||
<%= render :partial => 'widget_setting' ,:locals=>{:f=>f} %>
|
||||
<%= render :partial => 'widget_setting' ,:locals=>{:f=>f,:object=>@part} %>
|
||||
</div>
|
||||
<!-- <span id="widget_options">
|
||||
|
||||
|
|
|
@ -1,14 +1,22 @@
|
|||
<% case object %>
|
||||
<% when Page %>
|
||||
<% field_name = 'page' %>
|
||||
<% when PagePart %>
|
||||
<% field_name = 'page_part' %>
|
||||
<% end %>
|
||||
|
||||
|
||||
<label class="control-label"><%= t "default_widget.data_source.category" %></label>
|
||||
<div class="well controls">
|
||||
<% if @categories %>
|
||||
<div class="well controls">
|
||||
<fieldset>
|
||||
<%= nil_radio_button(@part,:category) %>
|
||||
<%= content_tag_for(:label, @categories,:class=>"radio inline") do |category|%>
|
||||
<%= radio_button("page_part", "category", category.id, :checked => category_checked_value(@part,category.id) )%>
|
||||
<%= category.title%>
|
||||
<% end %>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<%= nil_radio_button(object,:category) %>
|
||||
<%= content_tag_for(:label, @categories,:class=>"radio inline") do |category|%>
|
||||
<%= radio_button_tag("#{field_name}[category]", category.id, category_checked_value(object,category.id) )%>
|
||||
<%= category.title%>
|
||||
<% end %>
|
||||
</fieldset>
|
||||
<% else %>
|
||||
<%= t("default_widget.no_support_setting")%>
|
||||
<% end %>
|
||||
</div>
|
||||
<% else %>
|
||||
<%= t("default_widget.no_support_setting")%>
|
||||
<% end %>
|
|
@ -1,14 +1,22 @@
|
|||
<% case object %>
|
||||
<% when Page %>
|
||||
<% field_name = 'page' %>
|
||||
<% when PagePart %>
|
||||
<% field_name = 'page_part' %>
|
||||
<% end %>
|
||||
|
||||
|
||||
<label class="control-label"><%= t "default_widget.data_source.tag" %></label>
|
||||
<div class="well controls">
|
||||
<% if @categories %>
|
||||
<div class="well controls">
|
||||
<fieldset>
|
||||
<%= nil_radio_button(@part,:tag) %>
|
||||
<%= nil_radio_button(object,:tag) %>
|
||||
<%= content_tag_for(:label, @tags,:class=>"radio inline") do |tag|%>
|
||||
<%= radio_button("page_part", "tag", tag.id, :checked => tag_checked_value(@part,tag.id) )%>
|
||||
<%= radio_button_tag("#{field_name}[tag]", tag.id, tag_checked_value(object,tag.id) ) %>
|
||||
<%= tag[I18n.locale]%>
|
||||
<% end %>
|
||||
</fieldset>
|
||||
</div>
|
||||
<% else %>
|
||||
<%= t("default_widget.no_support_setting")%>
|
||||
<% end %>
|
||||
</div>
|
|
@ -1,10 +1,10 @@
|
|||
<% if show_default_widget_setting_panel %>
|
||||
<div id="default_widget">
|
||||
<%= render :partial => 'default_widget_style_panel',:locals=>{:f=>f} %>
|
||||
<%= render :partial => 'default_widget_setting' %>
|
||||
<%= render :partial => 'admin/page_parts/default_widget_style_panel',:locals=>{:f=>f,:object=>object} %>
|
||||
<%= render :partial => 'admin/page_parts/default_widget_setting',:locals=>{:object=>object} %>
|
||||
</div>
|
||||
<% elsif show_custom_widget_setting_panel %>
|
||||
<div id="custom_widget">
|
||||
<%= render :partial => 'custom_widget_setting' %>
|
||||
<%= render :partial => 'admin/page_parts/custom_widget_setting',:locals=>{:object=>object} %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
<%= select 'page_part', 'category', @categories.collect{|category| [category.title, category.id]}, :selected => (@part ? @part[:category] : nil), :include_blank => true if @categories && @categories.size > 0 %>
|
|
@ -1 +0,0 @@
|
|||
<%= select 'page_part', 'tag', @tags.collect{|tag| [tag[I18n.locale], tag.id]}, :selected => (@part ? @part[:tag] : nil), :include_blank => true if @tags && @tags.size > 0 %>
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
<% if show_default_widget_setting_panel %>
|
||||
$('#widget_setting').html("<%= j render :partial => 'default_widget_style_panel' %>");
|
||||
$('#widget_setting').append("<%= j render :partial => 'default_widget_setting' %>");
|
||||
$('#widget_setting').html("<%= j render :partial => 'default_widget_style_panel',:locals=>{:object=>@part} %>");
|
||||
$('#widget_setting').append("<%= j render :partial => 'default_widget_setting',:locals=>{:object=>@part} %>");
|
||||
<% elsif show_custom_widget_setting_panel %>
|
||||
$('#widget_setting').html("<%= j render :partial => 'custom_widget_setting' %>");
|
||||
<% end %>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
$('#widget_list select').html("<%= j options_for_select(@module_app.widgets.collect{|k,v| k},@part.widget_path) %>");
|
||||
$("#widget_data_source_category").html("<%= j render :partial => 'widget_data_source_category' %>");
|
||||
$("#widget_data_source_tag").html("<%= j render :partial => 'widget_data_source_tag' %>");
|
||||
$("#widget_data_source_category").html("<%= j render :partial => 'widget_data_source_category',:locals=>{:object=>@part} %>");
|
||||
$("#widget_data_source_tag").html("<%= j render :partial => 'widget_data_source_tag',:locals=>{:object=>@part} %>");
|
||||
|
||||
<% if !@part.widget_path.blank? %>
|
||||
<% if show_default_widget_setting_panel %>
|
||||
$('#widget_setting').html("<%= j render :partial => 'default_widget_style_panel' %>");
|
||||
$('#widget_setting').append("<%= j render :partial => 'default_widget_setting' %>");
|
||||
$('#widget_setting').append("<%= j render :partial => 'default_widget_setting',:locals=>{:object=>@part} %>");
|
||||
<% elsif show_custom_widget_setting_panel %>
|
||||
$('#widget_setting').html("<%= j render :partial => 'custom_widget_setting' %>");
|
||||
<% end %>
|
||||
|
|
|
@ -1 +1 @@
|
|||
<%= f.select :module_app_id, @apps.collect { |t| [t.title.capitalize, t.id] }, {:include_blank => true} ,{:rel => admin_module_apps_path } %>
|
||||
<%= f.select :module_app_id, @apps.collect { |t| [t.title.capitalize, t.id] }, {:include_blank => true} ,{:rel => admin_pages_path } %>
|
||||
|
|
|
@ -35,34 +35,42 @@
|
|||
<!-- <p class="help-block">In addition to freeform text, any HTML5 text-based input appears like so.</p> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<%= f.label :name, t(:module), :class => 'control-label' %>
|
||||
|
||||
<div class="control-group" id="module_app_list">
|
||||
<%= f.label '',t("default_widget.select_module_app"), :class => 'control-label' %>
|
||||
<div class="controls">
|
||||
<%= render :partial => "app_selector", :locals => { :f => f } %>
|
||||
<span id="app_page_url">
|
||||
<%= select('page','app_frontend_url', @app_frontend_urls, :selected => @item.app_frontend_url ) rescue ''%>
|
||||
</span>
|
||||
<span id="app_page_frontend_style">
|
||||
<%= select('page','frontend_style', @frontend_style, :selected => @item[:frontend_style], :include_blank => true ) rescue ''%>
|
||||
</span>
|
||||
<span id="app_page_category">
|
||||
<%= select('page','category', @categories.collect{|category| [category.title, category.id]}, :selected => @item[:category], :include_blank => true ) rescue ''%>
|
||||
</span>
|
||||
<span id="app_page_tag">
|
||||
<%= select('page','tag', @tags.collect{|tag| [tag[I18n.locale], tag.id]}, :selected => @item[:tag], :include_blank => true ) rescue ''%>
|
||||
</span>
|
||||
<span id="app_page_frontend_field">
|
||||
<%= render 'frontend_fields' %>
|
||||
</span>
|
||||
<!-- <p class="help-block">In addition to freeform text, any HTML5 text-based input appears like so.</p> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<%= f.label :frontend_data_count, t(:frontend_data_count), :class => 'control-label' %>
|
||||
<div class="controls">
|
||||
<%= f.text_field :frontend_data_count %>
|
||||
|
||||
<div class="control-group" id="frontend_list">
|
||||
<%= f.label '', t("page.select_app_url"), :class => 'control-label' %>
|
||||
<div class="controls" id="app_page_url">
|
||||
<%= select('page','app_frontend_url', @app_frontend_urls, :selected => @item.app_frontend_url ) rescue ''%>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="control-group">
|
||||
<%= f.label '', "FRONT STYLE", :class => 'control-label' %>
|
||||
<div class="controls" id="app_page_frontend_style">
|
||||
<%= select('page','frontend_style', @frontend_style, :selected => @item[:frontend_style], :include_blank => true ) rescue ''%>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
|
||||
<div id="app_page_category" class="control-group">
|
||||
<%= render :partial=>"admin/page_parts/widget_data_source_category",:locals=>{:object=>@item} %>
|
||||
</div>
|
||||
|
||||
<div id="app_page_tag" class="control-group">
|
||||
<%= render :partial=>"admin/page_parts/widget_data_source_tag" ,:locals=>{:object=>@item}%>
|
||||
</div>
|
||||
|
||||
<div id="frontend_setting">
|
||||
<%= render :partial => 'frontend_setting', :locals=>{:object=>@item,:f=>f} %>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="control-group">
|
||||
<%= f.label :is_published, "#{t(:is_published)} ?", :class => 'control-label' %>
|
||||
<div class="controls">
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
<% if show_default_widget_setting_panel %>
|
||||
<%= render :partial=>'admin/page_parts/widget_setting',:locals=>{:object=>object,:f=>f} %>
|
||||
<% end %>
|
|
@ -1,3 +1,4 @@
|
|||
<%= stylesheet_link_tag "admin/default_widget_setting" %>
|
||||
<% content_for :sidebar do %>
|
||||
<%= render 'admin/items/site_map_left_bar' %>
|
||||
<% end -%>
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
<% if show_default_widget_setting_panel %>
|
||||
// $('#app_page_tag').html("<%= j render :partial => 'admin/page_parts/widget_data_source_tag',:locals=>{:object=>@page} %>");
|
||||
|
||||
$('#frontend_setting').html("<%= j render :partial => 'admin/page_parts/default_widget_style_panel',:locals=>{:object=>@page} %>");
|
||||
$('#frontend_setting').append("<%= j render :partial => 'admin/page_parts/default_widget_setting',:locals=>{:object=>@page} %>");
|
||||
<% else %>
|
||||
$('#frontend_setting').html("<%= j render :partial => 'custom_frontend_setting' %>");
|
||||
<% end %>
|
|
@ -0,0 +1,24 @@
|
|||
|
||||
$('#app_page_category').html("<%= j render :partial => 'admin/page_parts/widget_data_source_category' ,:locals=>{:object=>@page}%>");
|
||||
$('#app_page_tag').html("<%= j render :partial => 'admin/page_parts/widget_data_source_tag',:locals=>{:object=>@page} %>");
|
||||
|
||||
<% if !@module_app.app_pages.blank? %>
|
||||
$('#app_page_url').html("<%= escape_javascript(select 'page', 'app_frontend_url', options_for_select(@app_frontend_urls, @app_frontend_urls.first)) %>");
|
||||
<%else %>
|
||||
$('#app_page_url').html("<%= t('default_widget.no_support_setting')%>");
|
||||
<% end %>
|
||||
|
||||
<% if @app_frontend_urls.first =='default_widget' %>
|
||||
$('#app_page_frontend_style').html("<%= escape_javascript(select 'page', 'frontend_style', @module_app.widgets[@frontend_path]) if !@frontend_path.blank? %>");
|
||||
<% else %>
|
||||
$('#app_page_frontend_style').html("<%= t('default_widget.no_support_setting')%>");
|
||||
<% end %>
|
||||
|
||||
<% if show_default_widget_setting_panel %>
|
||||
$('#app_page_tag').html("<%= j render :partial => 'admin/page_parts/widget_data_source_tag',:locals=>{:object=>@page} %>");
|
||||
|
||||
$('#frontend_setting').html("<%= j render :partial => 'admin/page_parts/default_widget_style_panel',:locals=>{:object=>@page} %>");
|
||||
$('#frontend_setting').append("<%= j render :partial => 'admin/page_parts/default_widget_setting',:locals=>{:object=>@page} %>");
|
||||
<% else %>
|
||||
$('#frontend_setting').html("<%= j render :partial => 'custom_frontend_setting' %>");
|
||||
<% end %>
|
|
@ -153,6 +153,7 @@ zh_tw:
|
|||
default_widget:
|
||||
no_support_setting: 沒有可以使用的設定
|
||||
no_value: 不設定(全部)
|
||||
fields_: 前台輸出欄位
|
||||
fields_order: 輸出欄位順序
|
||||
fields_style: 輸出欄位樣式
|
||||
select_module_app: 外掛模組選擇
|
||||
|
|
|
@ -82,6 +82,8 @@ Orbit::Application.routes.draw do
|
|||
member do
|
||||
get 'delete'
|
||||
get 'reload_themes'
|
||||
get 'reload_after_module_changed',:action=>'reload_frontend_pages'
|
||||
get 'reload_after_list_changed',:action=> 'reload_front_end_setting'
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -101,14 +103,13 @@ Orbit::Application.routes.draw do
|
|||
|
||||
match 'remove_manager/:app_manager_id' ,:action=> 'remove_manager',:via => "delete",:as =>:remove_manager
|
||||
match 'remove_sub_manager/:app_sub_manager_id' ,:action=> 'remove_sub_manager',:via => "delete",:as =>:remove_sub_manager
|
||||
get 'reload_frontend_pages'
|
||||
end
|
||||
end
|
||||
|
||||
resources :page_parts do
|
||||
member do
|
||||
get 'reload_widgets'
|
||||
get 'reload_widget_styles'
|
||||
get 'reload_after_module_changed',:action=>'reload_widgets'
|
||||
get 'reload_after_list_changed',:action=> 'reload_widget_styles'
|
||||
get 'reload_r_tag_options'
|
||||
end
|
||||
end
|
||||
|
|
|
@ -184,15 +184,21 @@ module ParserCommon
|
|||
# page_contents
|
||||
def parse_contents_edit(body, page, edit=nil)
|
||||
public_r_tags = []
|
||||
url = ''
|
||||
body.css('.page_content').each do |content|
|
||||
ret = ''
|
||||
category = params[:category_id].blank? ? page[:category] : params[:category_id]
|
||||
tag = params[:tag_id].blank? ? page[:tag] : params[:tag_id]
|
||||
if (content["main"] == "true" && !page.module_app.nil?)
|
||||
ret << "<div id='appfrontend' class='dymanic_load' path='/panel/#{page.module_app.key}/front_end/#{page.app_frontend_url}"
|
||||
ret << "/#{params[:id]}" if params[:id] && !params[:id].eql?(page.id.to_s)
|
||||
ret << "?inner=true&page_id=#{page.id}&category_id=#{category}&tag_id=#{tag}&preview=#{params[:preview]}&page_main=#{params[:page_main]}&search_query=#{params[:search_query]}&name=#{params[:name]}"
|
||||
ret << "'></div>"
|
||||
if page.app_frontend_url == 'default_widget'
|
||||
url = "/panel/orbit_app/widget/#{page.frontend_style}?inner=true"
|
||||
else
|
||||
url = "/panel/#{page.module_app.key}/front_end/#{page.app_frontend_url}"
|
||||
end
|
||||
ret << "<div id='appfrontend' class='dymanic_load' path='#{url}"
|
||||
ret << "/#{params[:id]}" if params[:id] && !params[:id].eql?(page.id.to_s)
|
||||
ret << "?inner=true&page_id=#{page.id}&category_id=#{category}&tag_id=#{tag}&preview=#{params[:preview]}&page_main=#{params[:page_main]}&search_query=#{params[:search_query]}&name=#{params[:name]}&item_type=page"
|
||||
ret << "'></div>"
|
||||
else
|
||||
part = page.page_parts.detect{ |p| p.name.to_s == content['name'].to_s } rescue nil
|
||||
part_title = part.title rescue nil
|
||||
|
@ -213,7 +219,7 @@ module ParserCommon
|
|||
raise ModuleAppError,"PagePart can't find ModuleApp" if part.module_app.nil?
|
||||
"/panel/#{part.module_app.key}/widget/#{part.widget_path}?inner=true"
|
||||
end
|
||||
options = "&part_id=#{part.id}&category_id=#{!part[:category].blank? ? part[:category].blank? : category}&tag_id=#{!part[:tag].blank? ? part[:tag] : tag}&page=#{params[:page]}&search_query=#{params[:search_query]}&part_title=#{Rack::Utils.escape(part_title).gsub("+", "%20") rescue nil}"
|
||||
options = "&part_id=#{part.id}&category_id=#{!part[:category].blank? ? part[:category].blank? : category}&tag_id=#{!part[:tag].blank? ? part[:tag] : tag}&page=#{params[:page]}&search_query=#{params[:search_query]}&part_title=#{Rack::Utils.escape(part_title).gsub("+", "%20") rescue nil}&item_type=page_part"
|
||||
ret << "<div class='dymanic_load widget' path='#{url + options}'></div>"
|
||||
when 'public_r_tag'
|
||||
ret << "<r:#{part.public_r_tag} id='#{part.public_r_tag_object_id}'/>"
|
||||
|
|
|
@ -95,11 +95,18 @@ module ParserFrontEnd
|
|||
# page_contents
|
||||
def parse_contents(body, page, edit=nil, locale)
|
||||
public_r_tags = []
|
||||
url = ''
|
||||
body.css('.page_content').each do |content|
|
||||
ret = ''
|
||||
if (content["main"] == "true" && !page.module_app.nil?)
|
||||
url = "/panel/#{page.module_app.key}/front_end/#{page.app_frontend_url}\#{(\"/\" + params[:id]) if params[:id] && !params[:id].eql?(page.id.to_s)}\#{(\"/\" + params[:controller_action]) if params[:controller_action] && params[:id]}?inner=true"
|
||||
options = "&page_id=#{page.id}&category_id=\#{category}&tag_id=\#{tag}&preview=\#{params[:preview]}&page_main=\#{params[:page_main]}&search_query=\#{params[:search_query]}&name=\#{params[:name]}"
|
||||
if page.app_frontend_url == 'default_widget'
|
||||
url = "/panel/orbit_app/widget/#{page.frontend_style}?inner=true"
|
||||
else
|
||||
"/panel/#{page.module_app.key}/front_end/#{page.app_frontend_url}\#{(\"/\" + params[:id]) if params[:id] && !params[:id].eql?(page.id.to_s)}\#{(\"/\" + params[:controller_action]) if params[:controller_action] && params[:id]}?inner=true"
|
||||
end
|
||||
|
||||
|
||||
options = "&page_id=#{page.id}&category_id=\#{category}&tag_id=\#{tag}&preview=\#{params[:preview]}&page_main=\#{params[:page_main]}&search_query=\#{params[:search_query]}&name=\#{params[:name]}&item_type=page"
|
||||
ret << "<orbit_front path='#{url + options}'></div>"
|
||||
else
|
||||
part = page.page_parts.detect{ |p| p.name.to_s == content['name'].to_s } rescue nil
|
||||
|
@ -116,7 +123,7 @@ module ParserFrontEnd
|
|||
else
|
||||
"/panel/\#{part.module_app.key}/widget/\#{part.widget_path}?inner=true"
|
||||
end
|
||||
options = "&part_id=\#{part.id}&category_id=\#{!part[:category].blank? ? part[:category].blank? : category}&tag_id=\#{!part[:tag].blank? ? part[:tag] : tag}&page=\#{params[:page]}&search_query=\#{params[:search_query]}&part_title=\#{Rack::Utils.escape(part_title).gsub(\"\+\", \"\%20\") rescue nil}"
|
||||
options = "&part_id=\#{part.id}&category_id=\#{!part[:category].blank? ? part[:category].blank? : category}&tag_id=\#{!part[:tag].blank? ? part[:tag] : tag}&page=\#{params[:page]}&search_query=\#{params[:search_query]}&part_title=\#{Rack::Utils.escape(part_title).gsub(\"\+\", \"\%20\") rescue nil}&item_type=page_part"
|
||||
ret << "<orbit_front path='#{url + options}' part_id=#{part.id} class='dymanic_load widget'></orbit_front>"
|
||||
|
||||
when 'public_r_tag'
|
||||
|
|
Loading…
Reference in New Issue