menu edit fix

This commit is contained in:
Yan
2017-09-12 17:23:42 +06:30
parent 101b9511da
commit 4b732e8d8c
4 changed files with 34 additions and 7 deletions

View File

@@ -92,12 +92,14 @@ class Settings::MenuItemInstancesController < ApplicationController
category = MenuCategory.find(id)
# Bind for Item Sets
if params[:menu_item_instance][:item_sets].count > 1
if params[:menu_item_instance][:item_sets].count > 0
params[:menu_item_instance][:item_sets].delete_at(0)
sets = ItemSet.find(params[:menu_item_instance][:item_sets])
if sets.count > 0
if sets.count >= 0
# destroy all item sets for edit
@settings_menu_item_instances.item_sets.destroy
@settings_menu_item_instances.item_sets = sets
end
end

View File

@@ -75,12 +75,14 @@ class Settings::SetMenuItemsController < ApplicationController
params[:set_menu_item][:item_options].delete_at(0)
# Bind for Item Sets
if params[:set_menu_item][:item_sets].count > 1
if params[:set_menu_item][:item_sets].count > 0
params[:set_menu_item][:item_sets].delete_at(0)
sets = ItemSet.find(params[:set_menu_item][:item_sets])
if sets.count > 0
if sets.count >= 0
# destroy all item sets for edit
@settings_menu_item.item_sets.destroy
@settings_menu_item.item_sets = sets
end
end

View File

@@ -98,12 +98,14 @@ class Settings::SimpleMenuItemsController < ApplicationController
params[:simple_menu_item][:item_options].delete_at(0)
# Bind for Item Sets
if params[:simple_menu_item][:item_sets].count > 1
if params[:simple_menu_item][:item_sets].count > 0
params[:simple_menu_item][:item_sets].delete_at(0)
sets = ItemSet.find(params[:simple_menu_item][:item_sets])
if sets.count > 0
if sets.count >= 0
# destroy all item sets for edit
@settings_menu_item.item_sets.destroy
@settings_menu_item.item_sets = sets
end
end

View File

@@ -12,5 +12,26 @@
</ul>
</div>
<%= render 'form', settings_menu_item_menu_item_instances: @settings_menu_item_instances, item_sets: @item_sets %>
</div>
<script type="text/javascript">
$(function(){
// auto selected after loaded
<%
@settings_menu_item_instances.item_sets.each do |set|
%>
$("#menu_item_instance_item_sets option[value='" + <%= set.id %> + "']").attr("selected","selected").css({'color':'#fff','background':'#215d9c'});
<%
end
%>
// After loaded
$("#menu_item_instance_item_sets").on('click', 'option', function(e){
if($(this).attr("selected")){
$(this).removeAttr("selected");
$(this).css({'color':'#000','background':'#fff'});
}
});
});
</script>