let user can choose to expand next layer

This commit is contained in:
chiu 2020-01-21 17:37:25 +08:00
parent 3228a30279
commit a13b509193
4 changed files with 26 additions and 12 deletions

View File

@ -35,9 +35,9 @@ class SiteMenuWidgetsController < ApplicationController
#item = [] #item = []
@count += 1 @count += 1
if (!item1["children"].nil? && item1["children"].length!=0) if (!item1["children"].nil? && item1["children"].length!=0)
@li_index << @count @count1 += 1
if children_is_current(item1['obj']) if (@expand_current_layer && children_is_current(item1['obj'])) || (@expand_next_layer && item1['obj'].id == @page_id)
@ul_index << ( @li_index.length - 1 ) @ul_index << [@count1, @count]
end end
create_menu_bool_object(item1['children']) create_menu_bool_object(item1['children'])
#item = [children_is_current(item1['obj']),item1['obj'].id==@page_id,create_menu_bool_object(item1['children'])] #item = [children_is_current(item1['obj']),item1['obj'].id==@page_id,create_menu_bool_object(item1['children'])]
@ -57,6 +57,8 @@ class SiteMenuWidgetsController < ApplicationController
page = Page.where(:page_id => params[:page_id]).first page = Page.where(:page_id => params[:page_id]).first
@page_id = page.id @page_id = page.id
@expand_layer = false @expand_layer = false
@expand_next_layer = false
@expand_current_layer = false
if page.parent_page == Page.root if page.parent_page == Page.root
@pages = page.sorted_published_child_pages @pages = page.sorted_published_child_pages
else else
@ -80,25 +82,32 @@ class SiteMenuWidgetsController < ApplicationController
value = YAML.load(select_option.value) value = YAML.load(select_option.value)
if value[I18n.locale] == t('site_menu.yes') if value[I18n.locale] == t('site_menu.yes')
@expand_layer = true @expand_layer = true
@expand_current_layer = true
end
elsif !(@show_options.nil?) && select_option.field_name == @show_options.keys[2].to_s
value = YAML.load(select_option.value)
if value[I18n.locale] == t('site_menu.yes')
@expand_layer = true
@expand_next_layer = true
end end
end end
end end
end end
end end
@ul_index=[] @ul_index=[]
@li_index= []
@count = -1 @count = -1
@count1 = 0
@li_index = []
title = subpart.title title = subpart.title
items = create_json(@pages) items = create_json(@pages)
create_menu_bool_object(items) if @expand_layer
if @expand_layer create_menu_bool_object(items)
temp = @ul_index.reverse.collect do |ul_index| temp = @ul_index.reverse.collect do |ul_index|
tp = @li_index[ul_index] + 1 "var ul_tp = $('div[data-subpart-id=#{subpart.id}]').find('ul').eq(#{ul_index[0]})
"var ul_tp = $('div[data-subpart-id=#{subpart.id}]').find('ul').eq(#{tp}) ul_tp.removeClass('dropdown-menu')
ul_tp.removeClass('dropdown-menu') $('div[data-subpart-id=#{subpart.id}]').find('li').eq(#{ul_index[1]}).find('span').eq(0).remove()
$('div[data-subpart-id=#{subpart.id}]').find('li').eq(#{@li_index[ul_index]}).find('span').eq(0).remove() "
" end
end
if temp.length != 0 if temp.length != 0
temp = temp.join(' ') temp = temp.join(' ')
expand_script = "<script type='text/javascript'>" + expand_script = "<script type='text/javascript'>" +

View File

@ -2,5 +2,6 @@ en:
site_menu: site_menu:
show_previous_layer: Show Previous Layer show_previous_layer: Show Previous Layer
expand_current_layer: Expand Current Layer expand_current_layer: Expand Current Layer
expand_next_layer: Expand Next Layer
'yes': 'Yes' 'yes': 'Yes'
'no': 'No' 'no': 'No'

View File

@ -2,5 +2,6 @@ zh_tw:
site_menu: site_menu:
show_previous_layer: 顯示上一層 show_previous_layer: 顯示上一層
expand_current_layer: 展開所在的那層 expand_current_layer: 展開所在的那層
expand_next_layer: 展開下一層
'yes': 'yes':
'no': 'no':

View File

@ -5,16 +5,19 @@ module SiteMenuWidget
data = {} data = {}
key1 = {} key1 = {}
key2 = {} key2 = {}
key3 = {}
value1 = {} value1 = {}
value2 = {} value2 = {}
translate_data.each do |t_data| translate_data.each do |t_data|
key1[t_data.keys[0]] = t_data.values[0]['site_menu']['show_previous_layer'] key1[t_data.keys[0]] = t_data.values[0]['site_menu']['show_previous_layer']
key2[t_data.keys[0]] = t_data.values[0]['site_menu']['expand_current_layer'] key2[t_data.keys[0]] = t_data.values[0]['site_menu']['expand_current_layer']
key3[t_data.keys[0]] = t_data.values[0]['site_menu']['expand_next_layer']
value2[t_data.keys[0]] = t_data.values[0]['site_menu']['no'] value2[t_data.keys[0]] = t_data.values[0]['site_menu']['no']
value1[t_data.keys[0]] = t_data.values[0]['site_menu']['yes'] value1[t_data.keys[0]] = t_data.values[0]['site_menu']['yes']
end end
data[key1] = [value2,value1] data[key1] = [value2,value1]
data[key2] = [value2,value1] data[key2] = [value2,value1]
data[key3] = [value2,value1]
OrbitApp.registration "SiteMenuWidget", :type => "OrbitWidget" do OrbitApp.registration "SiteMenuWidget", :type => "OrbitWidget" do
widget_label "SiteMenu" widget_label "SiteMenu"
widget_methods ["widget"] widget_methods ["widget"]