Selaa lähdekoodia

Ticket #4405 - Menus: Don't show an empty onclick attribute.

AntonLV 3 vuotta sitten
vanhempi
sitoutus
3ce79f0899

+ 1 - 1
template/menu_account_notifications.html

@@ -2,7 +2,7 @@
     <bx_repeat:menu_items>
         <li class="bx-menu-item-__name__ bx-def-border-bottom bx-def-padding-sec-top bx-def-padding-sec-bottom __class_add__">
             <bx_include_auto:menu_icon.html />
-            <a href="__link__" onclick="__onclick__"__attrs__><span>__title__</span></a>
+            <a href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> __attrs__><span>__title__</span></a>
             <bx_if:addon>__addonf__</bx_if:addon>
         </li>
     </bx_repeat:menu_items>

+ 1 - 1
template/menu_apps.html

@@ -2,7 +2,7 @@
     <div class="bx-popup-header block pb-4 leading-8 text-lg lg:text-xl text-gray-800 dark:text-gray-100 font-semibold">__title__</div>
     <div class="bx-popup-content grid grid-cols-3 gap-4">
         <bx_repeat:menu_items>
-            <a class="block p-4 text-center rounded-lg hover:bg-gray-100 dark:hover:bg-gray-600" href="__link__" onclick="__onclick__"__attrs__>
+            <a class="block p-4 text-center rounded-lg hover:bg-gray-100 dark:hover:bg-gray-600" href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> __attrs__>
                 <div class="w-8 h-8 mx-auto mb-1 text-gray-500 dark:text-gray-400 text-2xl">
                     <bx_include_auto:menu_icon.html />
                 </div>

+ 1 - 1
template/menu_buttons_hor.html

@@ -1,7 +1,7 @@
 <ul class="bx-menu-btns-hor bx-menu-object-__object__ flex flex-row @container/menu">
     <bx_repeat:menu_items>
         <li class="bx-menu-item __name__ __class_add__ flex-1 @lg/menu:flex-none flex flex-row items-stretch min-w-0 my-1 mr-4 last:mr-0">
-            <a class="bx-btn __name__ flex flex-col @lg/menu:flex-row justify-center @lg/menu:justify-start w-full" href="__link__" onclick="__onclick__" title="__title_attr__"__attrs__>
+            <a class="bx-btn __name__ flex flex-col @lg/menu:flex-row justify-center @lg/menu:justify-start w-full" href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> title="__title_attr__"__attrs__>
                 <bx_include_auto:menu_icon.html />
                 <bx_if:title><u class="w-full mr-2 @lg/menu:mr-0 truncate text-center @lg/menu:text-left">__title__</u></bx_if:title>
             </a>

+ 1 - 1
template/menu_buttons_hor_item.html

@@ -1,3 +1,3 @@
-<a class="bx-btn bx-def-margin-right" href="__link__" onclick="__onclick__" title="__title_attr__"__attrs__>
+<a class="bx-btn bx-def-margin-right" href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> title="__title_attr__"__attrs__>
     <bx_include_auto:menu_icon.html />
 </a>

+ 1 - 1
template/menu_buttons_icon_hor.html

@@ -1,5 +1,5 @@
 <ul class="bx-menu-btns-icon-hor bx-menu-object-__object__ flex flex-row flex-wrap">
-    <bx_repeat:menu_items><li class="bx-menu-item __name__ my-1 __class_add__"><a class="bx-btn __name__ mr-4" href="__link__" onclick="__onclick__" title="__title_attr__"__attrs__>
+    <bx_repeat:menu_items><li class="bx-menu-item __name__ my-1 __class_add__"><a class="bx-btn __name__ mr-4" href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> title="__title_attr__"__attrs__>
         <bx_include_auto:menu_icon.html />
     </a></li></bx_repeat:menu_items>
 </ul>

+ 1 - 1
template/menu_buttons_icon_hor_item.html

@@ -1,4 +1,4 @@
-<a class="bx-btn bx-def-margin-right" href="__link__" onclick="__onclick__" title="__title_attr__"__attrs__>
+<a class="bx-btn bx-def-margin-right" href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> title="__title_attr__"__attrs__>
     <bx_include_auto:menu_icon.html />
     <bx_if:title><u>__title__</u></bx_if:title>
 </a>

+ 1 - 1
template/menu_buttons_ver.html

@@ -1,7 +1,7 @@
 <ul class="bx-menu-btns-ver bx-menu-object-__object__ bx-clearfix">
     <bx_repeat:menu_items>
         <li class="bx-def-margin-thd-topbottom __class_add__">
-            <a class="bx-btn bx-def-margin-right" href="__link__" onclick="__onclick__"__attrs__>
+            <a class="bx-btn bx-def-margin-right" href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> __attrs__>
                 <bx_include_auto:menu_icon.html />
                 <u>__title__</u>
             </a>

+ 1 - 1
template/menu_custom_item.html

@@ -1,4 +1,4 @@
 <span class="__class_wrp__ bx-def-margin-thd-topbottom">
-    <a class="__class_link__" href="__link__" onclick="__onclick__" title="__title_attr__"__attrs__><bx_include_auto:menu_icon.html /><bx_if:title><span class="bx-def-margin-sec-left-auto">__title__</span></bx_if:title></a>
+    <a class="__class_link__" href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> title="__title_attr__"__attrs__><bx_include_auto:menu_icon.html /><bx_if:title><span class="bx-def-margin-sec-left-auto">__title__</span></bx_if:title></a>
     <bx_if:addon>__addon__</bx_if:addon>
 </span>

+ 1 - 1
template/menu_custom_item_addon.html

@@ -1,6 +1,6 @@
 <span class="__class_wrp__ bx-mi-highlight group flex items-center text-gray-600 dark:text-gray-300 hover:bg-gray-200 dark:hover:text-gray-100 dark:hover:bg-gray-700 hover:text-gray-900 text-sm font-normal rounded-md">
     <span class="flex justify-between items-center w-full">
-        <a class="__class_link__ block p-2" href="__link__" onclick="__onclick__" title="__title_attr__"__attrs__><bx_include_auto:menu_icon.html /><bx_if:title><span class="bx-def-margin-sec-left-auto">__title__</span></bx_if:title></a>
+        <a class="__class_link__ block p-2" href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> title="__title_attr__"__attrs__><bx_include_auto:menu_icon.html /><bx_if:title><span class="bx-def-margin-sec-left-auto">__title__</span></bx_if:title></a>
         <bx_if:addon>
             <div class="bx-menu-addon inline-block flex items-center px-2">
                 <div class="bx-menu-addon-cnt h-5 px-2 bg-blue-200 text-blue-800 text-xs leading-5 rounded-full">__addon__</div>

+ 1 - 1
template/menu_floating_blocks.html

@@ -1,7 +1,7 @@
 
 <ul class="bx-menu-floating-blocks bx-menu-object-__object__ bx-clearfix">
     <bx_repeat:menu_items><li class="bx-menu-item bx-menu-item-__name__ bx-def-round-corners bx-def-color-bg-hl-hover bx-def-box-sizing __class_add__">
-        <a href="__link__" onclick="__onclick__"__attrs__>
+        <a href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> __attrs__>
             <div class="bx-menu-floating-blocks-icon">
                 <bx_include_auto:menu_icon.html />
             </div>

+ 1 - 1
template/menu_floating_blocks_big.html

@@ -1,7 +1,7 @@
 
 <ul class="bx-menu-floating-blocks-big bx-menu-object-__object__ bx-clearfix">
     <bx_repeat:menu_items><li class="bx-def-round-corners bx-def-color-bg-hl-hover bx-def-box-sizing __class_add__">
-        <a href="__link__" onclick="__onclick__"__attrs__>
+        <a href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> __attrs__>
             <div class="bx-menu-floating-blocks-icon">
                 <bx_include_auto:menu_icon.html />
             </div>

+ 1 - 1
template/menu_floating_blocks_dash.html

@@ -2,7 +2,7 @@
     <bx_repeat:menu_items>
         <li class=" bx-def-margin-bottom">
             <div class="bx-menu-floating-blocks-dash-item bx-def-padding-sec bx-def-margin-sec-leftright bx-def-round-corners bx-def-box bx-def-box-sizing __class_add__">
-                <a href="__link__" onclick="__onclick__"__attrs__>
+                <a href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> __attrs__>
                     <div class="bx-menu-floating-blocks-icon bx-def-margin-sec-right">
                         <bx_include_auto:menu_icon.html />
                     </div>

+ 1 - 1
template/menu_floating_blocks_wide.html

@@ -1,7 +1,7 @@
 
 <ul class="bx-menu-floating-blocks-wide bx-menu-object-__object__ bx-clearfix">
     <bx_repeat:menu_items><li class="bx-menu-item bx-menu-item-__name__ bx-def-round-corners bx-def-color-bg-hl-hover bx-def-box-sizing __class_add__">
-        <a href="__link__" onclick="__onclick__"__attrs__>
+        <a href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> __attrs__>
             <div class="bx-menu-floating-blocks-icon">
                 <bx_include_auto:menu_icon.html />
             </div>

+ 1 - 1
template/menu_footer.html

@@ -1,7 +1,7 @@
 <ul id="bx-menu-footer" class="bx-menu-hor bx-menu-object-__object__ bx-clearfix">
     <bx_repeat:menu_items>
         <li class="bx-menu-item bx-menu-item-__name__ bx-def-margin-right-auto __class_add__">
-            <a href="__link__" onclick="__onclick__" title="__title_attr__"__attrs__>
+            <a href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> title="__title_attr__"__attrs__>
                 <bx_include_auto:menu_icon.html />
                 <bx_if:title>__title__</bx_if:title>
             </a>

+ 2 - 2
template/menu_footer_subitems.html

@@ -1,10 +1,10 @@
 <ul class="bx-menu-item-subitems bx-menu-ver bx-clearfix">
     <bx_repeat:menu_items>
         <li class="bx-menu-item-subitem __class_add__">
-            <a href="__link__" onclick="__onclick__" title="__title_attr__"__attrs__>
+            <a href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> title="__title_attr__"__attrs__>
                 <bx_if:image><img title="__title_attr__" src="__icon_url__" /></bx_if:image>
                 <bx_if:icon><i class="sys-icon __icon__"></i></bx_if:icon>
-				<bx_if:icon-html>__icon__</bx_if:icon-html>
+                <bx_if:icon-html>__icon__</bx_if:icon-html>
                 <bx_if:title>__title__</bx_if:title>
             </a>
             <bx_if:show_subitems>

+ 1 - 1
template/menu_horizontal.html

@@ -1,7 +1,7 @@
 <ul class="bx-menu-hor bx-menu-object-__object__ bx-clearfix">
     <bx_repeat:menu_items>
         <li class="bx-def-margin-right-auto __class_add__">
-            <a href="__link__" onclick="__onclick__"__attrs__><bx_include_auto:menu_icon.html /><bx_if:title><span>__title__</span></bx_if:title></a>
+            <a href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> __attrs__><bx_include_auto:menu_icon.html /><bx_if:title><span>__title__</span></bx_if:title></a>
         </li>
     </bx_repeat:menu_items>
 </ul>

+ 1 - 1
template/menu_inline.html

@@ -1,7 +1,7 @@
 <ul id="bx-menu-inline" class="bx-menu-hor bx-menu-hor-inline bx-menu-object-__object__ bx-clearfix">
     <bx_repeat:menu_items>
         <li class="bx-def-margin-left-auto __class_add__">
-            <a href="__link__" onclick="__onclick__" title="__title__"__attrs__>
+            <a href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> title="__title__"__attrs__>
                 <bx_include_auto:menu_icon.html />
             </a>
             <bx_if:addon>__addon__</bx_if:addon>

+ 1 - 1
template/menu_inline_sbtn.html

@@ -1,7 +1,7 @@
 <ul id="bx-menu-inline" class="bx-menu-hor bx-menu-hor-inline-sbtn bx-menu-object-__object__ bx-clearfix">
     <bx_repeat:menu_items>
         <li class="bx-def-margin-thd-left-auto __class_add__">
-            <a class="bx-def-padding-sec-leftright" href="__link__" onclick="__onclick__" title="__title__"__attrs__>
+            <a class="bx-def-padding-sec-leftright" href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> title="__title__"__attrs__>
                 <bx_include_auto:menu_icon.html />
             </a>
             <bx_if:addon>__addon__</bx_if:addon>

+ 1 - 1
template/menu_interactive.html

@@ -7,7 +7,7 @@
             <div class="bx-def-padding-right bx-def-padding-sec-left bx-def-padding-sec-topbottom __class__" title="__title_attr__">__title__</div>
         </li>
         <li id="__id__-pas" class="bx-menu-inter-pas bx-def-round-corners bx-def-color-bg-hl-hover __class_wrp_pas__">
-            <a id="__id__" class="__class__" href="__link__" onclick="__onclick__" title="__title_attr__"__attrs__>
+            <a id="__id__" class="__class__" href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> title="__title_attr__"__attrs__>
                 <div class="bx-def-padding-right bx-def-padding-sec-left bx-def-padding-sec-topbottom">__title__</div>
             </a>
         </li>

+ 1 - 1
template/menu_interactive_vertical.html

@@ -7,7 +7,7 @@
         </li>
         <li id="__name__-pas" class="bx-menu-inter-pas __class_wrp_pas__">
             <div class="bx-menu-item-cnt bx-stl-mil-wo-gaps">
-                <a id="__name__" class="__class__ bx-stl-mil-gaps group flex flex-auto items-center truncate" href="__link__" onclick="__onclick__" title="__title_attr__"__attrs__>
+                <a id="__name__" class="__class__ bx-stl-mil-gaps group flex flex-auto items-center truncate" href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> title="__title_attr__"__attrs__>
                     <span class="bx-menu-item-title bx-stl-mit">__title__</span>
                 </a>
             </div>

+ 1 - 1
template/menu_main_in_panel.html

@@ -2,7 +2,7 @@
     <bx_repeat:menu_items>
         <li class="bx-menu-item __name__ __class_add__ rounded-md">
             <div class="bx-menu-item-cnt bx-stl-mil-wo-gaps">
-                <a class="__name__ bx-stl-mil-gaps group flex flex-auto items-center truncate" href="__link__" onclick="__onclick__"__attrs__>
+                <a class="__name__ bx-stl-mil-gaps group flex flex-auto items-center truncate" href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> __attrs__>
                     <span class="bx-menu-item-icon bx-stl-mii">
                         <bx_include_auto:menu_icon.html />
                     </span>

+ 1 - 1
template/menu_main_submenu.html

@@ -1,5 +1,5 @@
 <ul id="bx-menu-main-submenu" class="bx-menu-main-submenu bx-menu-object-__object__ bx-clearfix">
     <bx_repeat:menu_items>
-        <li class="bx-def-padding-sec-right bx-def-padding-sec-left bx-def-color-bg-hl-hover __class_add__"><a href="__link__" onclick="__onclick__"__attrs__>__title__</a></li>
+        <li class="bx-def-padding-sec-right bx-def-padding-sec-left bx-def-color-bg-hl-hover __class_add__"><a href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> __attrs__>__title__</a></li>
     </bx_repeat:menu_items>
 </ul>

+ 1 - 1
template/menu_main_submenu_more_auto.html

@@ -1,6 +1,6 @@
 <ul id="__html_id__" class="bx-menu-main-submenu<bx_if:show_more_auto_class> bx-menu-more-auto</bx_if:show_more_auto_class> bx-menu-object-__object__ bx-clearfix">
     <bx_repeat:menu_items>
-        <li class="bx-menu-item bx-menu-item-__name__ bx-def-padding-sec-right bx-def-padding-sec-left bx-def-color-bg-hl-hover __class_add__"><a href="__link__" onclick="__onclick__"__attrs__>__title__</a>__popup__</li>
+        <li class="bx-menu-item bx-menu-item-__name__ bx-def-padding-sec-right bx-def-padding-sec-left bx-def-color-bg-hl-hover __class_add__"><a href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> __attrs__>__title__</a>__popup__</li>
     </bx_repeat:menu_items>
 </ul>
 __js_code__

+ 1 - 1
template/menu_profile_followings.html

@@ -3,7 +3,7 @@
         <li class="bx-menu-item bx-menu-item-__name__ bx-def-round-corners __class_add__">
             <div class="bx-menu-item-cnt">
                 <div class="bx-menu-item-link bx-def-padding-thd-topbottom bx-def-padding-sec-leftright bx-def-color-bg-hl-hover">
-                    <a class="bx-stl-mil-gaps flex flex-auto items-center" href="__link__" onclick="__onclick__"__attrs__>
+                    <a class="bx-stl-mil-gaps flex flex-auto items-center" href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> __attrs__>
                         <span class="bx-menu-item-title bx-stl-mit flex-1 uppercase" sidebar-toggle-item>__title__</span>
                         <span class="bx-menu-collapse bx-def-padding-sec-left" sidebar-toggle-item>
                             <i class="sys-icon chevron-up bx-menu-hide"></i>

+ 1 - 1
template/menu_profile_followings_subitems.html

@@ -1,7 +1,7 @@
 <bx_repeat:menu_items>
     <li class="bx-menu-subitem bx-menu-subitem-__name__ bx-def-round-corners bx-def-color-bg-hl-hover __class_add__">
         <div class="bx-menu-item-cnt bx-def-padding-thd-topbottom bx-def-padding-left bx-def-padding-sec-right">
-            <a href="__link__" onclick="__onclick__"__attrs__>
+            <a href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> __attrs__>
                 <bx_include_auto:menu_icon.html />
                 <span class="bx-def-margin-sec-left-auto" sidebar-toggle-item>__title__</span>
             </a>

+ 1 - 1
template/menu_toolbar.html

@@ -1,7 +1,7 @@
 <ul class="bx-menu-toolbar bx-menu-object-__object__">
     <bx_repeat:menu_items>
         <li id="bx-menu-toolbar-item-__name__" class="bx-menu-toolbar-item bx-menu-item-__name__ bx-def-padding-thd-leftright bx-def-color-bg-hl-hover __class_add__">
-            <a href="__link__" onclick="__onclick__"__attrs__><bx_if:title><span class="bx-menu-toolbar-item-title bx-def-margin-thd-leftright bx-def-font-contrasted">__title__</span></bx_if:title><bx_if:icon><i class="sys-icon __icon__ bx-def-margin-thd-leftright"></i></bx_if:icon>
+            <a href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> __attrs__><bx_if:title><span class="bx-menu-toolbar-item-title bx-def-margin-thd-leftright bx-def-font-contrasted">__title__</span></bx_if:title><bx_if:icon><i class="sys-icon __icon__ bx-def-margin-thd-leftright"></i></bx_if:icon>
 			<bx_if:icon-a><i class="sys-icon-a bx-def-margin-thd-leftright" data-rotate="down" data-icon="__icon-a__" data-color="#fff"></i></bx_if:icon-a>
 			<bx_if:image><img class="bx-def-margin-thd-leftright" src="__icon_url__" /></bx_if:image>
 			<bx_if:unit><div class="bx-menu-toolbar-item-unit bx-def-margin-thd-leftright">__unit__</div></bx_if:unit><bx_if:addon>__addonf__</bx_if:addon></a>

+ 1 - 1
template/menu_vertical.html

@@ -1,7 +1,7 @@
 <ul class="bx-menu-ver bx-menu-object-__object__ bx-clearfix">
     <bx_repeat:menu_items>
         <li class="bx-menu-item __name__ bx-def-round-corners bx-def-color-bg-hl-hover __class_add__">
-            <a class="__name__" href="__link__" onclick="__onclick__"__attrs__>
+            <a class="__name__" href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> __attrs__>
                 <div class="bx-def-padding-sec">
                     <bx_include_auto:menu_icon.html />
 					<span>__title__</span>

+ 1 - 1
template/menu_vertical_lite.html

@@ -1,7 +1,7 @@
 <ul class="bx-menu-verlit bx-menu-object-__object__ bx-clearfix">
     <bx_repeat:menu_items>
         <li class="bx-def-margin-sec-top __class_add__">
-            <a href="__link__" onclick="__onclick__"__attrs__>
+            <a href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> __attrs__>
                 <bx_include_auto:menu_icon.html />
                 <bx_if:image_inline>__image__</bx_if:image_inline>
                 <span>__title__</span>

+ 1 - 1
template/menu_vertical_more_less.html

@@ -2,7 +2,7 @@
     <bx_repeat:menu_items>
         <li class="bx-menu-item bx-menu-item-__name__ bx-def-round-corners bx-def-color-bg-hl-hover __class_add__">
             <div class="bx-menu-item-cnt bx-def-padding-thd-topbottom bx-def-padding-sec-leftright">
-                <a href="__link__" onclick="__onclick__"__attrs__>
+                <a href="__link__" <bx_if:onclick>onclick="__onclick__"</bx_if:onclick> __attrs__>
                     <span class="bx-menu-item-icon">
                         <bx_include_auto:menu_icon.html />
                     </span>

+ 10 - 0
template/scripts/BxBaseMenu.php

@@ -260,6 +260,16 @@ class BxBaseMenu extends BxDolMenu
             ),
         );
 
+        $bOnClick = !empty($a['onclick']);
+        $aOnClick = $bOnClick ? [
+            'onclick' => $a['onclick'],
+        ] : [];
+
+        $a['bx_if:onclick'] = [
+            'condition' => $bOnClick,
+            'content' => $aOnClick
+        ];
+
         $aTmplVarsAddon = $this->_bDisplayAddons ? $this->_getTmplVarsAddon($mixedAddon, $a) : array('addon' => '', 'addonf' => '');
         $a['bx_if:addon'] = array (
             'condition' => $this->_bDisplayAddons && !empty($aTmplVarsAddon['addon']),

+ 6 - 1
template/scripts/BxBaseMenuProfileStats.php

@@ -50,7 +50,12 @@ class BxBaseMenuProfileStats extends BxTemplMenuAccountNotifications
                 'name' => 'show-' . $sLink,
                 'title' => _t($aLink['title']),
                 'link' => 'javascript:void(0)',
-                'onclick' => 'bx_menu_show_more_less(this, \'' . $this->_sObject . '\', \'.bx-menu-object-' . $this->_sObject . '\')',
+                'bx_if:onclick' => [
+                    'condition' => true,
+                    'content' => [
+                        'onclick' => 'bx_menu_show_more_less(this, \'' . $this->_sObject . '\', \'.bx-menu-object-' . $this->_sObject . '\')',
+                    ]
+                ],
                 'attrs' => '',
                 'bx_if:image' => [
                     'condition' => false,