<?xml version='1.0' encoding='UTF-8'?><uidget><metadata><name>Menu</name><api_version>1.0</api_version><size height='100' width='600' /><blog en='42' /></metadata><view><content></content><properties><trigger context_menu='Gérer les pages' default_action='true' help='Permet de configurer les pages sur le menu pour créer un menu principal ou des sous-menus.' icon='dupplicate' text='Gérer les pages' trigger='manage' /><hidden default='[]' name='links' /><inputText default='""' help='Choisissez un nom pour ce menu.&lt;br&gt;Ceci vous permettra de le choisir comme menu déroulant d&apos;un module image par exemple.' name='name' placeholder='Entrez le nom du menu' title='Nom du menu' /><hidden default='&apos;all&apos;' name='show_mode' values='all|subpages|custom' /><hidden default='[]' name='pages_to_show_on' /></properties><design_properties><radio class='uim_style_prop' default='&apos;custom&apos;' display='Principal|Sous-menu|Menu déroulant|Style personnalisé' help='Sélectionne le style du menu.&lt;br&gt; &lt;b&gt;Principal&lt;/b&gt; pour un menu stylisé&lt;br&gt; &lt;b&gt;Sous-menu&lt;/b&gt; pour une simple liste de liens&lt;br&gt; &lt;b&gt;Déroulant&lt;/b&gt; pour un menu déroulant&lt;br&gt; &lt;b&gt;Personnalisé&lt;/b&gt; pour un menu stylisé' name='style' title='Style' values='main|submenu|drop-down|custom' /><radio default='&apos;horizontal&apos;' display='Vertical|Horizontal' help='Choix de l&apos;orientation du menu' name='position' title='Position' values='vertical|horizontal' /><align class='uim_prop_align' default='&apos;center&apos;' name='uim_align' title='Alignement du texte' with_justify='false' /><checkbox default='true' help='Si coché, le menu ajustera sa taille quand de nouvelles pages seront ajoutées.' name='auto_size' value='Taille auto' /><checkbox class='uim_prop_custom uim_prop_label_nav' default='false' name='label_nav' value='Pas de lien pour les pages principales avec sous-menu' /><checkbox default='false' name='ignore_level' value='Ignorer la hiérarchie des pages' /><trigger_view class='uim_prop_custom uim_prop_style' help='Plusieurs styles sont disponibles. Choisissez celui qui convient le mieux à votre site.' icon='palette' method='init_examples' text='Choisir un style' trigger='manage_style' url='/cpt/menu_styles' /><slider class='uim_prop_custom uim_prop_border_weight' default='3' help='Si le style sélectionné a des bordures, ce curseur vous permet de personnaliser leur largeur.' maximum='10' minimum='0' name='border_weight' title='Épaisseur de bordure' /><slider class='uim_prop_custom uim_prop_font_size' default='16' help='Personnalisez la taille du texte de votre menu.' maximum='60' minimum='0' name='font_size' title='Taille d&apos;écriture' /><colors background='split|split|' class='uim_prop_custom uim_prop_custom_normal_colors' colspan='2|0|1' default='[&apos;load_defaults&apos;]' display='Texte et fond||Bordures' elts='3' help='Suivant le style sélectionné, votre menu peut utiliser 1, 2 ou 3 couleurs. Ces sélecteurs de couleur vous permettent de personnaliser les liens standards (qui ne sont ni sélectionnés, ni survolés).' name='normal_colors' options='[{hide_alpha: true}, {}, {}]' title='Couleurs normales' /><colors background='split|split|' class='uim_prop_custom uim_prop_custom_hover_colors' colspan='2|0|1' default='[&apos;load_defaults&apos;]' display='Texte et fond||Bordures' elts='3' help='Suivant le style sélectionné, votre menu peut utiliser 1, 2 ou 3 couleurs. Ces sélecteurs de couleur vous permettent de personnaliser les liens lorsqu&apos;ils sont survolés par la souris.' name='hover_colors' options='[{hide_alpha: true}, {}, {}]' title='Couleurs au survol' /><colors background='split|split|' class='uim_prop_custom uim_prop_custom_selected_colors' colspan='2|0|1' default='[&apos;load_defaults&apos;]' display='Texte et fond||Bordures' elts='3' help='Suivant le style sélectionné, votre menu peut utiliser 1, 2 ou 3 couleurs. Ces sélecteurs de couleur vous permettent de personnaliser le nom de la page sélectionnée.' name='selected_colors' options='[{hide_alpha: true}, {}, {}]' title='Couleurs de sélection' /><link class='uim_prop_custom uim_prop_custom_reset' default_action='true' display='Réinitialiser les valeurs' help='Annule vos personnalisations et recharge le style et les couleurs de votre thème original.' icon='rotate-ccw3' name='reset' trigger='_reset_values' /></design_properties></view><script>UI_Menu={init:function(){
sigCtl.connect(&quot;Theme.changed&quot;,function(){
UI_Menu.cpts.each(function(e){e.ui._showProp()})})},
dropDownMenus:{},cpts:[],remCpt:function(e){this.cpts.remove(e)
},setAsDropDownMenu:function(e){dropDownMenus=this.dropDownMenus
;console.log(&quot;waitting menu name : &quot;,e)
;sigCtl.getVariable(&quot;Menu.displayed-&quot;+e,function(t,n){
console.log(&quot;Signal connect : &quot;,e);if(!dropDownMenus[e]){
dropDownMenus[e]=n;if(dropDownMenus[e]){
dropDownMenus[e]=dropDownMenus[e]
;dropDownMenus[e].w=dropDownMenus[e].W()
;dropDownMenus[e].h=dropDownMenus[e].H()
;dropDownMenus[e].ui.showDropDownMenu(!1)
;dropDownMenus[e].node.hover(function(){},function(){
window.blockSelector&amp;&amp;dropDownMenus[e]==blockSelector.selectedCpt()||dropDownMenus[e].ui.showDropDownMenu(!1)
})
}else statusController.message(sprintf(&quot;Le menu d\xe9roulant &apos;%1$s&apos; n&apos;existe pas.&quot;,e),&quot;error&quot;,2e4,5)
}})},hideAllDropDownMenu:function(){
for(var e in this.dropDownMenus)this.dropDownMenus[e].ui.showDropDownMenu(!1)
},showDropDownMenu:function(e){this.hideAllDropDownMenu()
;this.dropDownMenus[e]&amp;&amp;this.dropDownMenus[e].ui.showDropDownMenu(!0)
}};sigCtl.connect(&quot;Version.selectPageFg&quot;,function(){
UI_Menu.hideAllDropDownMenu()})
;sigCtl.connect(&quot;Version.selectPageBg&quot;,function(){
UI_Menu.hideAllDropDownMenu()});UI_List.UI_Menu={
initialize:function(e){this.component=e;UI_Menu.cpts.push(e)
;this.sigCtl=new Signal(this)
;e.setOptions([&quot;locked&quot;,&quot;fixed&quot;,&quot;footer&quot;,&quot;sticky&quot;])
;this.component.node.addClass(this.component.uniqId())
;$.extend(this,menuDataManagement)},getName:function(){
return this.component.data.name||this.component.getName(!0)},
loadDefault:function(){
this.component.data.links=v.pages_fg.collect(function(e){return{
pageid:e.pageid}})},create_page_list:function(){
this.page_list=v.order_links(this.component.data.links)},
buildMenuULLI:function(e,t){
var n=this,i=this.component.page.version
;if(0==$(&quot;.accept_bg&quot;).length&amp;&amp;&quot;custom&quot;==this.component.data.style){
this.component.data.style=&quot;main&quot;
;this.onPropertyChanged([&quot;style&quot;]);if(&quot;editor&quot;==i.mode)return}
if(e){$(&quot;a&quot;,n.component.node)
;this.component.node.find(&quot;li.selected&quot;).removeClass(&quot;selected&quot;)
;t.anchorid?sigCtl.emit(&quot;Menu.selectAnchor&quot;,t):sigCtl.emit(&quot;Menu.selectPage&quot;,t)
;$(&quot;li&quot;,this.menu).each(function(){
$(this).off(&quot;mouseenter mouseleave&quot;)})
;$(&quot;ul&quot;,this.menu).removeAttr(&quot;style&quot;).removeClass(&quot;ul_0 ul_1&quot;)
}else{
var s=$(&quot;&lt;div class=&apos;uim_m1&apos;&gt;&lt;div class=&apos;uim_m2&apos;&gt;&lt;div class=&apos;uim_mc&apos;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&quot;).appendTo(this.menu.empty()).find(&quot;.uim_mc&quot;),o=s,a=-1
;this.create_page_list();var l=this.page_list.length,c=0
;&quot;drop-down&quot;!=this.component.data.style&amp;&amp;&quot;custom&quot;!=this.component.data.style||(c=this.page_list.collect(function(e){
return e.page.level+(e.anchorid?1:0)}).min())
;if(this.page_list&amp;&amp;this.page_list.length&gt;0){
this.level_is_ignored=this.component.data.ignore_level
;var d=this.page_list[0],r=d.page?d.page:i.page_bg
;Math.max(r.level+(d.anchorid?1:0)-c,0)&gt;0&amp;&amp;(ignore_level=!0)}
this.page_list.each(function(e){
var t=e.page?e.page:i.page_bg,d=n.level_is_ignored?0:Math.max(t.level+(e.anchorid?1:0)-c,0)
;&quot;page_bg&quot;==e.pageid&amp;&amp;(d=0);if(a&lt;d){s=o;for(var r=a;r&lt;d;r++){
s=$(&quot;&lt;ul&gt;&lt;/ul&gt;&quot;).appendTo(s)
;&quot;drop-down&quot;==n.component.data.style&amp;&amp;s.addClass(&quot;ul_&quot;+(r+1)%2)}
}else for(r=a;r&gt;d;r--)(s=s.parent()).is(&quot;ul&quot;)||(s=s.parent())
;a=d
;var u=!e.anchorid&amp;&amp;(t==i.selectedPageFg||i.selectedPageFg&amp;&amp;t==i.selectedPageFg.parentPage())?&quot;selected&quot;:&quot;&quot;
;u+=0==s.parents(&quot;ul&quot;).length?&quot; uim_dhv_li_first&quot;:&quot;&quot;
;o=$(&quot;&lt;li class=&apos;&quot;+u+&quot;&apos; style=&apos;z-index:&quot;+l+&quot;&apos;&gt;&lt;/li&gt;&quot;).appendTo(s)
;$(o).data(&quot;pageid&quot;,t.pageid)
;e.anchorid&amp;&amp;$(o).data(&quot;anchorid&quot;,e.anchorid)
;var h=&quot;&lt;a href=&apos;&quot;+(&quot;editor&quot;==i.mode?&quot;javascript:void(0)&quot;:t.pageid?t.getUrl(!0):i.selectedPageFg.getUrl(!0))+&quot;&apos;&gt;&lt;/a&gt;&quot;
;h=&quot;custom&quot;==n.component.data.style?&quot;&lt;span class=uim_m&gt;&quot;+h+&quot;&lt;/span&gt;&quot;:&quot;&lt;div class=uim_m&gt;&lt;div class=&apos;mtl&apos;&gt;&lt;/div&gt;&lt;div class=&apos;mt&apos;&gt;&lt;/div&gt;&lt;div class=&apos;mtr&apos;&gt;&lt;/div&gt;&lt;div class=&apos;ml&apos;&gt;&lt;/div&gt;&lt;div class=&apos;mr&apos;&gt;&lt;/div&gt;&lt;div class=&apos;mbl&apos;&gt;&lt;/div&gt;&lt;div class=&apos;mb&apos;&gt;&lt;/div&gt;&lt;div class=&apos;mbr&apos;&gt;&lt;/div&gt;&quot;+h+&quot;&lt;/div&gt;&quot;
;var p=function(e){
return e.closest(&quot;li&quot;).hasClass(&quot;uim_dhv_li_first&quot;)&amp;&amp;e.closest(&quot;li&quot;).find(&quot;ul&quot;).length
},m=$(h).appendTo(o).find(&quot;a&quot;).text(e.anchorid?e.anchorid.replace(/&amp;#39;/g,&quot;&apos;&quot;):t.name).on(&quot;click&quot;,function(s){
if(!n.component.data.label_nav||!p($(this))){
if(1!=s.which||s.ctrlKey||s.metaKey)return!0;if(e.anchorid){
n.onPageChange(!0,e);m.parents(&quot;li&quot;).addClass(&quot;selected&quot;)
;i.selectAnchor(t.pageid?t.pageid:&quot;page_bg&quot;,e.anchorid)}else{
i.selectedPageFg!=t&amp;&amp;i.selectPageFg(t);i.scroll_to_top()}}
return!1}).on(&quot;mouseenter&quot;,function(){
$(this).css(&quot;cursor&quot;,n.component.data.label_nav&amp;&amp;p($(this))?&quot;default&quot;:&quot;pointer&quot;)
}).addClass(&quot;not_link_style&quot;)
;$(&quot;li.uim_dhv_li_first&quot;,n.menu).off(&quot;mouseover mouseenter mouseout mouseleave&quot;).hover(function(e){
var t=$(e.target);setTimeout(function(){
var e=$(t.find(&quot;ul&quot;).get(0));if(e.length){
var n=e.offset().top+e.height()
;n&gt;$(&quot;#pages&quot;).height()&amp;&amp;i.getSelectedPage().setHeight(n)}},20)
},function(){});l-=1})
;if(&quot;drop-down&quot;==this.component.data.style){
$(&quot;li&quot;,this.menu).stop().hover(function(){var e=$(this)
;clearTimeout(e.data(&quot;timeout&quot;));setTimeout(function(){
e.find(&quot;ul:first&quot;).show()},200)},function(){var e=$(this)
;e.data(&quot;timeout&quot;,setTimeout(function(){
e.find(&quot;ul:first&quot;).hide()},200))})
;&quot;horizontal&quot;==this.component.data.position&amp;&amp;this.menu.find(&quot;.ul_0&quot;).css(&quot;white-space&quot;,&quot;nowrap&quot;)
;this.menu.find(&quot;.ul_0:first&quot;).show()
}else&quot;custom&quot;==this.component.data.style&amp;&amp;&quot;editor&quot;==i.mode&amp;&amp;this._parseCSS()
;&quot;custom&quot;==this.component.data.style&amp;&amp;this.autoSize()
;this.menu.find(&quot;.selected&quot;).length&gt;1&amp;&amp;this.menu.find(&quot;.selected:first&quot;).removeClass(&quot;selected&quot;)
;setTimeout(function(){n.autoSize()},0)
;$(&quot;.uim_dh, .uim_dv&quot;).find(&quot;.selected&quot;).each(function(){
var e=$(this).parents(&quot;.uim_dhv_li_first&quot;)
;0!=e.length&amp;&amp;e.find(&quot;.uim_m a:first&quot;).addClass(&quot;uim_a_selected&quot;)
})}},onDisplay:function(e){var t=this;this.menu=e
;this.drop_down_menu_shown=!0
;this._load_default_values(!t.component.data.normal_colors||&quot;load_defaults&quot;==t.component.data.normal_colors[0])
;this.onPropertyChanged([&quot;links&quot;])
;this.component.data.name&amp;&amp;sigCtl.emitVariable(&quot;Menu.displayed-&quot;+this.component.data.name,this.component)
;this.menuName=sprintf(&quot;Menu %1$d&quot;,this.component.component_type.getCounter()+1)
;this.sigCtl.connect(&quot;Theme.changed&quot;,function(){t.refreshMenu()
});this.sigCtl.connect(&quot;Version.setLevel&quot;,function(){
t.refreshMenu()});this.order_to=null
;this.sigCtl.connect(&quot;Version.setOrder&quot;,function(){
clearTimeout(t.order_to);t.order_to=setTimeout(function(){
t.page_list.sort(function(e,t){return e.page.order-t.page.order
});t.refreshMenu()},50)})
;this.sigCtl.connect(&quot;Version.selectPageFg&quot;,function(){
t.onPageChange(&quot;custom&quot;==t.component.data.style,v.selectedPageFg?{
pageid:v.selectedPageFg.pageid}:null)})
;this.sigCtl.connect(&quot;Version.selectPageBg&quot;,function(){
t.onPageChange()})
;this.sigCtl.connect(&quot;Page.nameChanged&quot;,function(){
t.refreshMenu()})
;this.sigCtl.connect(&quot;Version.rmPage&quot;,function(e,n){if(n){
var i=t.component.data.links.indexOf(t.component.data.links.find(function(e){
return e.pageid==n.pageid}));if(i&gt;-1){
var s=Misc.deepCloneObj(t.component.data.links);s.removeAt(i)
;t.component.setData(&quot;links&quot;,s);t.refreshMenu()}}
t.cleanupLinks()})
;this.sigCtl.connect(&quot;Page.rmAnchor&quot;,function(e,n){
n.anchorid&amp;&amp;t.removeLink(n)})
;this.sigCtl.connect(&quot;Menu.rnAnchor&quot;,function(e,n,i,s){
t.renameLink(n,i,s)})
;this.sigCtl.connect(&quot;Menu.selectAnchor&quot;,function(e,n){var i=[]
;$(t.menu).find(&quot;li&quot;).each(function(e,s){
var o=!t.level_is_ignored&amp;&amp;$(s).closest(&quot;li&quot;).length&amp;&amp;&quot;&quot;!=$(s).data(&quot;pageid&quot;)
;$(s).data(&quot;pageid&quot;)==n.pageid&amp;&amp;(o&amp;&amp;!$(s).data(&quot;anchorid&quot;)||$(s).data(&quot;anchorid&quot;)==n.anchorid)&amp;&amp;i.push(s)
});$(t.menu).find(&quot;li.selected&quot;).removeClass(&quot;selected&quot;)
;i.each(function(e){$(e).addClass(&quot;selected&quot;)
;t.level_is_ignored||$(e).parents(&quot;.uim_dhv_li_first&quot;).addClass(&quot;selected&quot;)
})});this.sigCtl.connect(&quot;Menu.selectPage&quot;,function(e,n,i){
$(t.menu).find(&quot;li&quot;).each(function(e,s){
if($(s).data(&quot;pageid&quot;)!=n.pageid||$(s).data(&quot;anchorid&quot;))i||$(s).removeClass(&quot;selected&quot;);else{
!0;$(s).addClass(&quot;selected&quot;)
;t.level_is_ignored||$(s).parents(&quot;.uim_dhv_li_first&quot;).addClass(&quot;selected&quot;)
}})})},onShow:function(){this.onPageChange()},
onSelect:function(){if(&quot;editor&quot;==v.mode){this.onBeforeSaveData()
;this._showProp()}},onDeselect:function(){},
onResizeStop:function(){this.component.w=this.component.W()
;this.component.h=this.component.H()
;&quot;custom&quot;==this.component.data.style&amp;&amp;this.autoSize()},
parent_page:function(e){
for(var t=(e=e||this.component.data).links[0].pageid,n=null,i=0;!n&amp;&amp;i&lt;v.pages_fg.length;){
v.pages_fg[i].pageid==t&amp;&amp;(n=i);i++}
return n&gt;0&amp;&amp;v.pages_fg[n-1].level&lt;v.pages_fg[n].level?v.pages_fg[n-1]:null
},onPageChange:function(e,t){
if(this.shouldDisplayOnPage(v.getSelectedPage())){
this.menu.parent().toggle(this.component.prop().v)
;this.refreshMenu(e,t)}else this.menu.parent().hide()},
onPropertyChanged:function(e){if(e.include(&quot;manage&quot;)){
this.cleanupLinks();pagePanel.menuManage(this)
;this.refreshMenu()}
this.menu.removeClass(&quot;uim_mv uim_sv uim_mh uim_sh uim_dh uim_dv uim_cv uim_ch&quot;)
;this.menu.removeClassMatch(/uim_p_\d/)
;this.menu.addClass(&quot;uim_&quot;+this.component.data.style.substr(0,1)+this.component.data.position.substr(0,1))
;&quot;custom&quot;==this.component.data.style&amp;&amp;this.component.data.custom_style!=undefined&amp;&amp;this.menu.addClass(&quot;uim_p_&quot;+this.component.data.custom_style)
;if(e.include(&quot;style&quot;)&amp;&amp;&quot;custom&quot;==this.component.data.style&amp;&amp;&quot;editor&quot;==v.mode){
this._load_default_values(!this.component.data.normal_colors||&quot;load_defaults&quot;==this.component.data.normal_colors[0])
;this._showProp()}
e.include(&quot;name&quot;)&amp;&amp;sigCtl.emitVariable(&quot;Menu.displayed-&quot;+this.component.data.name,this.component)
;(e.include(&quot;links&quot;)||e.include(&quot;style&quot;)||e.include(&quot;ignore_level&quot;))&amp;&amp;this.buildMenuULLI()
;&quot;drop-down&quot;==this.component.data.style||&quot;custom&quot;==this.component.data.style?this.menu.css({
overflow:&quot;visible&quot;,
width:this.component.data.auto_size?&quot;auto&quot;:&quot;100%&quot;
}):this.menu.css({overflow:&quot;hidden&quot;,width:&quot;100%&quot;})
;(e.include(&quot;border_weight&quot;)||e.include(&quot;font_size&quot;)||e.include(&quot;custom_style&quot;)||e.include(&quot;position&quot;))&amp;&amp;this.autoSize()
;e.include(&quot;position&quot;)&amp;&amp;$(&quot;.uim_prop_align&quot;).toggle(&quot;custom&quot;==this.component.data.style)
;!this.initializing_custom&amp;&amp;(e.include(&quot;font_size&quot;)||e.include(&quot;border_weight&quot;)||e.include(&quot;normal_colors&quot;)||e.include(&quot;hover_colors&quot;)||e.include(&quot;selected_colors&quot;)||e.include(&quot;uim_align&quot;))&amp;&amp;&quot;custom&quot;==this.component.data.style&amp;&amp;this._parseCSS()
},refreshMenu:function(e,t){this.buildMenuULLI(e,t)},
menuFullName:function(e){
var t,n=[],i=this,s=!1,o=[],a=this.component.page.version.pages_fg.each(function(e){
i.shouldListPage(e)&amp;&amp;n.push(e.name)})
;&quot;all&quot;==this.component.data.show_mode?(s=!0,
t=&quot;toutes les pages&quot;):&quot;subpages&quot;==this.component.data.show_mode?(s=!0,
t=&quot;pages list\xe9es et parentes&quot;):o=this.component.data.pages_to_show_on.collect(function(e){
var t=v.getPageFromId(e);return t?t.name:&quot;&quot;});a=n.join(&quot;, &quot;)
;t||(t=o.join(&quot;, &quot;));if(e&amp;&amp;a.length+t.length&gt;e){
a=sprintf(&quot;%1$d liens&quot;,n.length)
;s||(t=sprintf(&quot;%1$d pages&quot;,o.length))}
return this.component.data.name&amp;&amp;&quot;&quot;!=this.component.data.name?this.menuName+&quot; (&quot;+$(&quot;&lt;div&gt;&quot;).text(this.component.data.name).html()+&quot;)&quot;:sprintf(&quot;%s :&quot;,this.menuName)+sprintf(&quot; affiche &lt;i&gt;%1$s&lt;/i&gt; sur &lt;i&gt;%2$s&lt;/i&gt;.&quot;,$(&quot;&lt;div&gt;&quot;).text(a).html(),$(&quot;&lt;div&gt;&quot;).text(t).html())
},menuType:&quot;menu&quot;,onRemove:function(){
this.sigCtl.disconnect(&quot;Theme.changed&quot;)
;this.sigCtl.disconnect(&quot;Version.setLevel&quot;)
;this.sigCtl.disconnect(&quot;Version.setOrder&quot;)
;this.sigCtl.disconnect(&quot;Version.selectPageFg&quot;)
;this.sigCtl.disconnect(&quot;Version.selectPageBg&quot;)
;this.sigCtl.disconnect(&quot;Page.nameChanged&quot;)
;this.sigCtl.disconnect(&quot;Version.rmPage&quot;)
;UI_Menu.remCpt(this.component)},onBeforeSaveData:function(){
this.component.w&amp;&amp;this.component.h&amp;&amp;this.component.setXYZWH({
w:this.component.w,h:this.component.h},{send_events:!1})
;this.component.id||(this.delete_style=this.component.uniqId())
},onAfterSaveData:function(){
this.size_before_save&amp;&amp;this.component.setXYZWH({
w:this.size_before_save.w,h:this.size_before_save.h},{
send_events:!1})},onSave:function(){
this.component.node.addClass(this.component.uniqId())
;if(this.delete_style){this._parseCSS()
;this.component.node.removeClass(this.delete_style)
;$(&quot;#style_uim_&quot;+this.delete_style).remove()
;this.delete_style=null}},showDropDownMenu:function(e){
this.drop_down_menu_shown=e
;var t=this.component.node.add(this.component.node.children())
;if(e){this.component.setXYZWH({w:this.component.w,
h:this.component.h},{send_events:!1})
;t.css(&quot;visibility&quot;,&quot;visible&quot;)}else{this.component.setXYZWH({
w:1,h:1},{send_events:!1});t.css(&quot;visibility&quot;,&quot;hidden&quot;)}},
setSize:function(e){this.component.w=e.w;this.component.h=e.h
;if(this.drop_down_menu_shown){this.component.setSize(e)
;this.component.node.css(&quot;visibility&quot;,&quot;visible&quot;)}else{
this.component.setXYZWH({w:1,h:1},{send_events:!1})
;this.component.node.css(&quot;visibility&quot;,&quot;hidden&quot;)}},
onFontFamilyUpdate:function(){this.autoSize()},
autoSize:function(){
if(this.component.data.auto_size&amp;&amp;&quot;drop-down&quot;!=this.component.data.style&amp;&amp;(&quot;vertical&quot;!=this.component.data.position||&quot;custom&quot;!=this.component.data.style)){
var e=this;Misc.try_forever(function(){
var t=$(&quot;a:visible:last&quot;,e.menu)
;if(!e.shouldDisplayOnPage(v.getSelectedPage())||0==t.length||t.height()&lt;2)return&quot;retry&quot;
;if(&quot;custom&quot;==e.component.data.style){
var n=e.component,i=n.node.find(&quot;ul:first&quot;)
;if(&quot;horizontal&quot;==n.data.position)n.node.width()&lt;deviceController.device_size().width&amp;&amp;n.node.width(deviceController.device_size().width);else{
n.node.height()&lt;1e4&amp;&amp;n.node.height(1e4)
;n.node.width()&lt;1e4&amp;&amp;n.node.width(1e4)}var s={w:i.width()+5,
h:i.height()+5};n.node.width(n.prop().w)
;n.node.height(n.prop().h);n.setSize(s)}else{
e.onBeforeSaveData()
;var o=e.component.W(),a=e.component.H(),l=&quot;horizontal&quot;!=e.component.data.position?0:deviceController.device_size().width,c=&quot;mobile_auto&quot;==deviceController.device?deviceController.device_size().width:1e4
;e.component.setSize({h:Math.max(a,1e3),
w:Math.min(c,Math.max(o,l))});var d={
h:t.offset().top-e.menu.offset().top+t.outerHeight(!0)+5}
;if(&quot;horizontal&quot;==e.component.data.position){
var r=&quot;right&quot;==$(&quot;ul&quot;,e.menu).css(&quot;float&quot;)
;r&amp;&amp;$(&quot;ul&quot;,e.menu).css(&quot;float&quot;,&quot;left&quot;)
;var u=$(&quot;a&quot;,e.menu).collect(function(t){
return $(t).offset().left-e.menu.offset().left+$(t).outerWidth(!0)+10
});u.push(o);d.w=Math.min(c,u.max());if(r){
d.x=e.component.X()-d.w+o;$(&quot;ul&quot;,e.menu).css(&quot;float&quot;,&quot;right&quot;)}
}else d.w=o;e.onAfterSaveData();if(d.w&gt;2e3){e.setSize({h:a,w:o})
;return&quot;retry&quot;}e.setSize(d)}})}},init_examples:function(){
var e=this
;$(&quot;#list_styles&quot;).removeClass().addClass(e.component.uniqId()+&quot; body&quot;)
;$(&quot;#list_styles section&quot;).each(function(){
$(this).find(&quot;ul:first&quot;).unbind().on(&quot;click&quot;,&quot;li&quot;,function(){
$(this).siblings(&quot;li&quot;).removeClass(&quot;selected&quot;)
;$(this).addClass(&quot;selected&quot;)})})
;$(&quot;#list_styles&quot;).on(&quot;click&quot;,&quot;section&quot;,function(e){
e.target&amp;&amp;&quot;section&quot;==e.target.tagName.toLowerCase()&amp;&amp;$(this).find(&quot;input[type=radio]&quot;).click()
})
;$(&quot;input[name=selected_menu_style]&quot;).unbind().on(&quot;change&quot;,function(){
e.component.setData({
custom_style:parseInt($(this).val().match(/\d+/)[0])})})
;$(&quot;input[name=selected_menu_style][value=uim_p_&quot;+e.component.data.custom_style+&quot;]&quot;).attr(&quot;checked&quot;,&quot;checked&quot;).click()
},_showProp:function(){
if(!(blockSelector.selected_blocks.length&gt;1)){
var e=$(this.component.propertyNode).add(this.component.propertyDesignNode)
;$(&quot;#block_design_properties .lock_menu_style&quot;).remove()
;if(0==$(&quot;.accept_bg&quot;).length){$(&quot;.uim_style_prop&quot;,e).show()
;$(&quot;#block_design_properties input[type=radio][value=custom]&quot;).attr(&quot;disabled&quot;,&quot;disabled&quot;).parent().css(&quot;position&quot;,&quot;relative&quot;).append($(&quot;&lt;div class=&apos;lock_menu_style&apos;&gt;&quot;).css({
position:&quot;absolute&quot;,left:0,right:0,bottom:0,top:0
}).on(&quot;click&quot;,function(){
0==$(&quot;.accept_bg&quot;).length?statusController.message(&quot;Cette fonctionnalit\xe9 n&apos;est pas disponible pour votre design. Veuillez changer votre design par Cristal ou Elegance \xe0 l&apos;aide du bouton au-dessous.&quot;,&quot;warning&quot;,5e3):$(&quot;#block_design_properties input[type=radio][value=custom]&quot;).removeAttr(&quot;disabled&quot;)
}));$(&quot;.uim_prop_custom&quot;,e).hide()
;$(&quot;#design_blocks_wrapper&quot;).desactivate();this.buildMenuULLI()
}else if(&quot;custom&quot;==this.component.data.style){
$(&quot;.uim_style_prop&quot;,e).hide();this.init_examples()
;this.component.init_sliders()
;$(&quot;#block_design_properties ul li.uim_prop_custom&quot;).css(&quot;display&quot;,&quot;table&quot;)
;$(&quot;.uim_prop_align&quot;,e).show()}else{
$(&quot;.uim_style_prop&quot;,e).show();$(&quot;.uim_prop_align&quot;,e).hide()
;$(&quot;.uim_prop_custom&quot;,e).hide()
;$(&quot;#design_blocks_wrapper&quot;).desactivate()}}},
_load_default_values:function(e){
if(&quot;custom&quot;==this.component.data.style&amp;&amp;e){
var t={},n=UI_Menu.cpts.length&gt;=2?UI_Menu.cpts[UI_Menu.cpts.length-2].getAllData():ThemeConfig.UI_Menu
;$.each([&quot;normal_colors&quot;,&quot;hover_colors&quot;,&quot;selected_colors&quot;,&quot;font_size&quot;,&quot;border_weight&quot;,&quot;uim_align&quot;,&quot;custom_style&quot;],function(e,i){
t[i]=n[i]});this.component.setData(t,!1,!0)}},
_parseCSS:function(){
if(0!=$(&quot;.accept_bg&quot;).length&amp;&amp;&quot;custom&quot;==this.component.data.style&amp;&amp;&quot;editor&quot;==v.mode){
var e=this;UI_Menu.css_style=UI_Menu.css_style||$.ajax({
url:stylesheet_path(&quot;menu_all&quot;),dataType:&quot;text&quot;,
name:&quot;Chargement des styles de menu&quot;})
;UI_Menu.css_style.done(function(t){
var n=&quot;style_uim_&quot;+e.component.uniqId();$(&quot;#&quot;+n).remove()
;$(&quot;#s_list_styles&quot;).remove()
;$(loadStyle(css_parser(&quot;menu&quot;,t,$.extend({},e.component.getAllData(),{
uniq_id:e.component.uniqId()
})),$(&quot;#block_custom_styles_css&quot;)[0])).attr(&quot;id&quot;,n)})
;&quot;pending&quot;==UI_Menu.css_style.state()&amp;&amp;UI_Menu.css_style.done(function(){
e.autoSize()})}},_reset_values:function(){
this._load_default_values(!0);this._parseCSS()
;this.component.recreatePropertyDesignNode();this.autoSize()}};</script><style>.UI_Menu{overflow:visible}
.UI_Menu li,.uim_m{position:relative}
.uim_m{display:inline}
.UI_Menu .mtl,.UI_Menu .mt,.UI_Menu .mtr,.UI_Menu .ml,.UI_Menu .mr,.UI_Menu .mbl,.UI_Menu .mb,.UI_Menu .mbr{position:absolute}
.uim_mh li a,.uim_sh li a{white-space:nowrap}
.uim_mh ul{display:inline;list-style:none outside none}
.uim_mh li,.uim_mh li .uim_m,.uim_sh li,.uim_sh li .uim_m{float:left}
.uim_sh ul,.uim_sv ul,.uim_dv ul,.uim_dh ul{display:inline;list-style:none outside none;padding-left:0}
.uim_sh li{margin-left:12px}
.uim_sh li a,.uim_sv li a{color:#000}
.uim_sh li a:hover,.uim_sv li a:hover{text-decoration:none}
.uim_sv ul li.selected&gt; .uim_m a,.uim_sh ul li.selected&gt; .uim_m a{font-weight:700;text-decoration:none;cursor:default}
.uim_dv .uim_mc&gt;.ul_0,.uim_dh .uim_mc&gt;.ul_0{left:0;padding-left:0;position:absolute}
.uim_dv ul ul{display:none;position:absolute;top:0;left:100%}
.uim_dv ul li{float:none}
.uim_dh .ul_0{display:none;left:100%;position:absolute;top:0}
.uim_dh li{display:inline-block}
.uim_dh .ul_1{display:none;left:0;top:100%;position:absolute;white-space:normal}
.uim_dh .ul_0{white-space:nowrap}
.uim_dv li,.uim_dh li{padding:0 5px}
.uim_dh a,.uim_dv a{white-space:nowrap;font-size:13px;text-decoration:none}
.uim_dh a:hover,.uim_dv a:hover{text-decoration:underline}
.uim_dh ul li.selected&gt;.uim_m a,.uim_dh ul li.selected&gt;.uim_m a:hover,.uim_dv ul li.selected&gt;.uim_m a,.uim_dv ul li.selected&gt;.uim_m a:hover{cursor:default}
.uim_dv li .uim_m,.uim_dh li .uim_m{padding-top:5px}
ul.ul_1&gt;li{float:none;display:block}
.UI_Menu.uim_ch ul,.UI_Menu.uim_cv ul{list-style:outside none none;padding:0;text-align:center}
.UI_Menu.uim_ch li.uim_dhv_li_first{display:inline-block}
.UI_Menu.uim_ch li.uim_dhv_li_first .uim_m{display:inline-block}
.UI_Menu.uim_ch li.uim_dhv_li_first a{display:inline-block;text-decoration:none}
.UI_Menu.uim_ch li.uim_dhv_li_first::after{position:absolute;content:&quot;&quot;;top:100%;left:0;right:0;height:10px;z-index:4}
.UI_Menu.uim_cv li.uim_dhv_li_first{display:block;margin:.5em}
.UI_Menu.uim_cv li.uim_dhv_li_first .uim_m{display:block}
.UI_Menu.uim_cv li.uim_dhv_li_first a{display:block;text-decoration:none}
.UI_Menu.uim_ch .uim_mc&gt;ul li&gt;ul,.UI_Menu.uim_cv .uim_mc&gt;ul li&gt;ul{display:none}
.UI_Menu.uim_ch .uim_mc&gt;ul li:hover&gt;ul,.UI_Menu.uim_cv .uim_mc&gt;ul li:hover&gt;ul{display:block}
.UI_Menu.uim_ch .uim_mc&gt;ul li&gt;ul li,.UI_Menu.uim_cv .uim_mc&gt;ul li&gt;ul li{display:block;text-align:left;padding-left:10px}
.UI_Menu.uim_ch .uim_mc&gt;ul li&gt;ul li .uim_m,.UI_Menu.uim_cv .uim_mc&gt;ul li&gt;ul li .uim_m{margin-left:0}
.UI_Menu.uim_ch .uim_mc&gt;ul li&gt;ul li .uim_m,.UI_Menu.uim_ch .uim_mc&gt;ul li&gt;ul li .uim_m a,.UI_Menu.uim_cv .uim_mc&gt;ul li&gt;ul li .uim_m,.UI_Menu.uim_cv .uim_mc&gt;ul li&gt;ul li .uim_m a{display:block}
.UI_Menu.uim_cv .uim_mc&gt;ul li&gt;ul li span,.UI_Menu.uim_ch .uim_mc&gt;ul li&gt;ul li span{margin:0}
.UI_Menu.uim_cv .uim_mc&gt;ul li&gt;ul li a,.UI_Menu.uim_ch .uim_mc&gt;ul li&gt;ul li a{white-space:nowrap;font-size:.8em;padding:.3em;color:#454545}
.UI_Menu.uim_ch .uim_mc&gt;ul li&gt;ul li ul,.UI_Menu.uim_cv .uim_mc&gt;ul li&gt;ul li ul{position:relative}
.UI_Menu.uim_ch .uim_mc&gt;ul li&gt;ul li ul::after,.UI_Menu.uim_cv .uim_mc&gt;ul li&gt;ul li ul::after{display:none}
.UI_Menu.uim_ch .uim_mc&gt;ul li&gt;ul::after,.UI_Menu.uim_cv .uim_mc&gt;ul li&gt;ul::after,.UI_Menu.uim_ch .uim_mc&gt;ul li&gt;ul::before,.UI_Menu.uim_cv .uim_mc&gt;ul li&gt;ul::before{content:&quot;&quot;;position:absolute}
.UI_Menu.uim_cv .uim_mc ul li:hover ul,.UI_Menu.uim_ch .uim_mc ul li:hover ul{display:block}
.UI_Menu.uim_ch .uim_mc&gt;ul&gt;li&gt;ul{left:50%;min-width:100%;top:calc(100% + 10px);transform:translateX(-50%);position:absolute;background-color:#fff;border:1px solid #aaa;box-shadow:0 5px 10px rgba(0,0,0,.2);border-radius:3px}
.UI_Menu.uim_ch .uim_mc&gt;ul&gt;li&gt;ul::after{border-bottom:10px solid #fff;border-left:10px outset rgba(0,0,0,0);border-right:10px outset rgba(0,0,0,0);bottom:100%;left:50%;transform:translateX(-50%)}
.UI_Menu.uim_ch .uim_mc&gt;ul&gt;li&gt;ul::before{border-bottom:10px solid #777;border-left:10px outset rgba(0,0,0,0);border-right:10px outset rgba(0,0,0,0);bottom:calc(100% + 1px);left:50%;transform:translateX(-50%)}
.UI_Menu.uim_cv .uim_mc&gt;ul&gt;li&gt;ul{background-color:#fff;border:1px solid #aaa;border-radius:3px;box-shadow:0 5px 10px rgba(0,0,0,.2);left:100%;min-height:31px;position:absolute;top:0}
.UI_Menu.uim_cv .uim_mc&gt;ul&gt;li&gt;ul::before{border-bottom:10px outset rgba(0,0,0,0);border-right:10px solid #777;border-top:10px outset rgba(0,0,0,0);right:calc(100% + 1px);top:4px}
.UI_Menu.uim_cv .uim_mc&gt;ul&gt;li&gt;ul::after{border-right:10px solid #fff;border-top:10px outset rgba(0,0,0,0);border-bottom:10px outset rgba(0,0,0,0);right:100%;top:4px}
.UI_Menu.uim_cv .uim_mc&gt;ul ul ul{position:static}
.not_lab .uim_dhv_li_first&gt;span&gt;a{cursor:default}
.uim_mv ul li a,.uim_mh ul li a{font-size:12px}</style></uidget>