member plugin init edit
This commit is contained in:
commit
f59da3ce81
59 files changed
+273
-111
No files matched your search
@@ -42,6 +42,10 @@ $("#tag_list select").live('change', function() {
|
||||
$.getScript($(this).attr('rel') + '/' + $(this).val() + '/reload_r_tag_options');
|
||||
});
|
||||
|
||||
$("select.widget_field_select").live('change', function() {
|
||||
$.getScript(get_object_path() + '/reload_after_widget_field_changed?widget_field_value='+ $(this).val()+'&dom_id=' + $(this).attr("id") + '&field_seri=' +$(this).attr('field_seri'));
|
||||
});
|
||||
|
||||
$('.part_kind').live('click', function() {
|
||||
$('.part_kind_partial').hide();
|
||||
$('#part_' + $(this).attr('value')).show();
|
||||
|
||||
@@ -55,9 +55,10 @@ class Admin::PagePartsController < ApplicationController
|
||||
|
||||
def update
|
||||
@part = PagePart.find(params[:id])
|
||||
|
||||
params[:page_part][:widget_field] = params[:page_part][:widget_field].zip( params[:page_part][:widget_field_type] ) if params[:page_part][:widget_field]
|
||||
params[:page_part][:widget_field] = params[:page_part][:widget_field].zip( params[:page_part][:widget_field_type],params[:page_part][:widget_field_is_link] )
|
||||
|
||||
params[:page_part][:widget_field_type] = nil
|
||||
params[:page_part][:widget_field_is_link] = nil
|
||||
|
||||
if params[:page_part][:module_app].blank?
|
||||
params[:page_part][:module_app] = nil
|
||||
@@ -90,6 +91,13 @@ class Admin::PagePartsController < ApplicationController
|
||||
redirect_to admin_items_url( :parent_id => @item.parent_id )
|
||||
end
|
||||
|
||||
def reload_widget_field
|
||||
@index = params[:field_seri].to_i
|
||||
@part = PagePart.find params[:id]
|
||||
@choosen_field = params[:widget_field_value]
|
||||
@module_app = @part.module_app
|
||||
end
|
||||
|
||||
def reload_widgets
|
||||
@part = PagePart.find params[:id]
|
||||
@module_app = ModuleApp.find(params[:module_app_id]) rescue nil
|
||||
|
||||
@@ -23,8 +23,7 @@ class DefaultWidgetController< OrbitWidgetController
|
||||
@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)
|
||||
|
||||
@data = eval(@default_widget["query"]).limit(data_limit).includes(@widget_image_field).desc(:created_at)
|
||||
case params[:type]
|
||||
when "typeA"
|
||||
@tag_class = 'default_widget_typeA'
|
||||
|
||||
@@ -9,6 +9,49 @@ module Admin::PagePartsHelper
|
||||
end
|
||||
end
|
||||
|
||||
def get_widget_field_rel(local_item=nil)
|
||||
local_item = @part if local_item.nil? && @part
|
||||
local_item = @page if local_item.nil? && @page
|
||||
|
||||
case local_item
|
||||
when Page
|
||||
admin_pages_path
|
||||
when PagePart
|
||||
admin_page_parts_path
|
||||
end
|
||||
end
|
||||
|
||||
def field_link_switch(i,object_name,field_name,local_item=nil,prefill_value=nil)
|
||||
local_item = @part if local_item.nil? && @part
|
||||
local_item = @page if local_item.nil? && @page
|
||||
res = ''
|
||||
|
||||
choosen_value = prefill_value || (local_item[:widget_field][i][0] rescue nil)
|
||||
|
||||
if choosen_value
|
||||
choosen_field_is_link = (@module_app.widget_fields.select{|t| t[0].to_s==choosen_value}.first)[2]==:link
|
||||
else
|
||||
choosen_field_is_link = false
|
||||
end
|
||||
|
||||
|
||||
if choosen_field_is_link
|
||||
value = case local_item
|
||||
when Page
|
||||
local_item[:frontend_field][i][2]
|
||||
when PagePart
|
||||
local_item[:widget_field][i][2]
|
||||
end
|
||||
|
||||
res = label_tag '' do
|
||||
check_box_tag("#{object_name}[#{field_name}_is_link][]", value = "true", value) + I18n.t("default_widget.field_is_link")
|
||||
end
|
||||
else # choosen_field_not_link
|
||||
res = hidden_field_tag "#{object_name}[#{field_name}_is_link][]", 'false'
|
||||
end # of if choosen_field_is_link
|
||||
|
||||
end
|
||||
|
||||
def widget_field_options(i,local_item=nil)
|
||||
local_item = @part if local_item.nil? && @part
|
||||
local_item = @page if local_item.nil? && @page
|
||||
|
||||
@@ -1,22 +1,23 @@
|
||||
module DefaultWidgetHelper
|
||||
def get_field_header(field)
|
||||
I18n.t(@page_part.module_app.widget_fields.select{|t|t[0]==field}[0][1])
|
||||
I18n.t("#{@page_part.module_app.key}.default_widget.#{field}")
|
||||
end
|
||||
|
||||
def link_to_field(row_data,field)
|
||||
def link_to_field(row_data,field,switch)
|
||||
method_ary = @page_part.module_app.widget_fields_link_method
|
||||
if method_ary.has_key? field
|
||||
url = case method_ary[field]["args"]
|
||||
field = field.to_sym
|
||||
if(method_ary.has_key?(field) and (switch == "true"))
|
||||
url = case method_ary[field][:args]
|
||||
when nil # no args
|
||||
get_data_link(method_ary[field]["method"])
|
||||
get_data_link(method_ary[field][:method])
|
||||
when :self # passing self
|
||||
get_data_link(method_ary[field]['method'],row_data.id)
|
||||
get_data_link(method_ary[field][:method],row_data.id)
|
||||
else
|
||||
ary = method_ary[field]["args"].clone
|
||||
ary = method_ary[field][:args].clone
|
||||
object_hash = ary.each do |key,val|
|
||||
ary[key]= type_trans_or_to_s(row_data.send(val[0]).send(val[1]))
|
||||
end
|
||||
get_data_link(method_ary[field]['method'],object_hash)
|
||||
get_data_link(method_ary[field][:method],object_hash)
|
||||
end
|
||||
|
||||
link_to row_data.send(field),url
|
||||
|
||||
@@ -6,7 +6,7 @@ class ModuleApp
|
||||
|
||||
field :key
|
||||
field :title
|
||||
field :sidebar_order#,type: Integer
|
||||
field :sidebar_order,type: Integer,default: 0
|
||||
|
||||
def refetch_setting!(reg)
|
||||
# %w{module_label category base_url version organization author intro update_info create_date}.each do |field|
|
||||
@@ -30,7 +30,7 @@ class ModuleApp
|
||||
end
|
||||
|
||||
def get_default_widget
|
||||
raise 'Need to link with OrbitApp [type: Array]'
|
||||
get_registration.get_default_widget
|
||||
end
|
||||
|
||||
|
||||
@@ -98,7 +98,8 @@ class ModuleApp
|
||||
end
|
||||
|
||||
def widget_fields_link_method
|
||||
raise 'Need to link with OrbitApp [type: Hash]'
|
||||
get_registration.get_link_methods
|
||||
# raise 'Need to link with OrbitApp [type: Hash]'
|
||||
end
|
||||
|
||||
|
||||
|
||||
@@ -31,13 +31,15 @@
|
||||
<div class="rows clear">
|
||||
<span class="span4">
|
||||
<%= i+1 %>
|
||||
<%= select_tag "#{object_name}[#{field_name}][]", widget_field_options(i), :include_blank => true %>
|
||||
<%= select_tag "#{object_name}[#{field_name}][]", widget_field_options(i), :include_blank => true ,:class=>'widget_field_select',:field_seri => i ,:id=>"#{object_name}_#{field_name}_#{i}"%>
|
||||
</span>
|
||||
<span class="span3">
|
||||
<%= select_tag "#{object_name}[#{field_name}_type][]", widget_fiield_type_options(i), :include_blank => true %> <br />
|
||||
</span>
|
||||
<span class="span5"></span>
|
||||
</div><br/>
|
||||
<span class="span5 link_switch_holder">
|
||||
<%= field_link_switch(i,object_name,field_name) %>
|
||||
</span>
|
||||
</div><br/>
|
||||
<% end %>
|
||||
<br/>
|
||||
<div class="rows clear">
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<%= t "default_widget.select_widget_path" %>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<%= f.select :widget_path, @module_app ? @module_app.widgets.collect{|k,v| [I18n.t(v["i18n"]),k]} : [], {}, { :selected => @part.widget_path, :rel => admin_page_parts_path } %>
|
||||
<%= f.select :widget_path, @module_app ? @module_app.widgets.collect{|k,v| [I18n.t(v["i18n"]),k]} : [], {}, { :selected => @part.widget_path, :rel => get_widget_field_rel } %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
$("#<%= params[:dom_id] %>").parents(".rows").find(".link_switch_holder").html("<%= j field_link_switch(@index,'page_part','widget_field',nil,@choosen_field) %>");
|
||||
@@ -11,7 +11,7 @@
|
||||
<% @data.each do |row_data| %>
|
||||
<tr>
|
||||
<% @fields.each do |field|%>
|
||||
<td><%= content_tag(:span,link_to_field(row_data,field[0]),:class=>field[1])%></td>
|
||||
<td><%= content_tag(:span,link_to_field(row_data,field[0],field[2]),:class=>field[1])%></td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<% end %>
|
||||
|
||||
@@ -13,8 +13,7 @@
|
||||
<div class="viewport">
|
||||
<div class="overview">
|
||||
<ul class="nav nav-list">
|
||||
<%= render :partial=> 'layouts/side_bar_content'%>
|
||||
<%#= render ((local_assigns.has_key? :side_bar_content) ? side_bar_content : 'layouts/side_bar_content') %>
|
||||
<%= render ((local_assigns.has_key? :side_bar_content) ? side_bar_content : 'layouts/side_bar_content') %>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in new issue
Block a user