41 lines
2.0 KiB
Plaintext
41 lines
2.0 KiB
Plaintext
<% active_module = @custom_data_field[:bind_module_app] rescue nil %>
|
|
<% active_uid = @custom_data_field[:bind_uid] rescue nil %>
|
|
<% active_module = @custom_configs.first.module rescue nil if active_module.nil? %>
|
|
<% if @custom_configs.length != 0 %>
|
|
<div class="control-group input-content">
|
|
<label class="control-label muted" for="custom_bind_module_app"><%=t("custom_announcement.use_module")%> :</label>
|
|
<div class="controls">
|
|
<%= select_tag("#{@field_name}[custom_data_field][bind_module_app]", options_for_select(@custom_configs.map{|c| [t("module_name.#{c.module}"),c.module]},active_module),{:id=>"custom_bind_module_app"})%>
|
|
</div>
|
|
</div>
|
|
<div class="control-group input-content">
|
|
<label class="control-label muted" for="custom_bind_uid"><%=t("custom_announcement.use_content")%> :</label>
|
|
<div class="controls">
|
|
<% @custom_configs.each do |c| %>
|
|
<% title_field = c.title_field
|
|
uid_field = c.uid_field
|
|
bind_model = c.bind_model.constantize rescue nil
|
|
%>
|
|
<% if bind_model %>
|
|
<div class="<%=(c.module == active_module) ? "show bind_modules" : "hide bind_modules" %>" data-module="<%= c.module %>">
|
|
<%= select_tag("#{@field_name}[custom_data_field][bind_uid]", options_for_select(bind_model.where(title_field.to_sym.nin=>[nil,""]).map{|target_model| [target_model.send(title_field),target_model.send(uid_field)]},active_uid),{:id=>"custom_bind_uid"})%>
|
|
</div>
|
|
<% end %>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
if($(".bind_modules.hide").length != 0){
|
|
$(".bind_modules.hide").eq(-1).after($(".bind_modules.show"));
|
|
}
|
|
$("#custom_bind_module_app").change(function(){
|
|
var value = $(this).val();
|
|
console.log(value)
|
|
$(".bind_modules").removeClass("show").addClass("hide");
|
|
$("[data-module=\""+value+"\"]").removeClass("hide").addClass("show");
|
|
if($(".bind_modules.hide").length != 0){
|
|
$(".bind_modules.hide").eq(-1).after($(".bind_modules.show"));
|
|
}
|
|
})
|
|
</script>
|
|
<% end %> |