Code improvement and ergonomy for menu display
This commit is contained in:
parent
aaf9a16851
commit
5bfffcce97
7 changed files with 77 additions and 14 deletions
|
|
@ -3519,7 +3519,18 @@ margin:1px;
|
|||
.nav-level2 .active {
|
||||
border-radius:0px !important;
|
||||
}
|
||||
|
||||
/******************************************/
|
||||
/* MENU LEVEL > 3 */
|
||||
/******************************************/
|
||||
.nav-level4{
|
||||
--border-size:2px;
|
||||
}
|
||||
.nav-level4 .nav-item:hover{
|
||||
background-color: aliceblue;
|
||||
}
|
||||
.nav-level4 .active {
|
||||
background-color: aliceblue;
|
||||
}
|
||||
/****************************************/
|
||||
/* Module for smartphone menu */
|
||||
/***************************************/
|
||||
|
|
|
|||
|
|
@ -281,7 +281,8 @@ if (isset($_REQUEST['ac']))
|
|||
// Show module and highligt selected one
|
||||
show_module($module_id);
|
||||
|
||||
|
||||
global $level;
|
||||
$level = 0;
|
||||
show_menu( $amenu_id[0]['pm_id_v3']);
|
||||
|
||||
show_menu( $amenu_id[0]['pm_id_v2']);
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ echo '
|
|||
//----------------------------------------------------------------------
|
||||
// show the menu
|
||||
//----------------------------------------------------------------------
|
||||
echo ShowItem(array(
|
||||
echo show_menu_extension(array(
|
||||
array(
|
||||
"?".http_build_query(["ac"=>$http->request("ac"),"new"=>1,"gDossier"=>$dossier_id]),
|
||||
_("Nouveau"),
|
||||
|
|
@ -61,7 +61,7 @@ echo ShowItem(array(
|
|||
_("Liste"),
|
||||
_("Liste opérations")
|
||||
)
|
||||
), "H", "nav-item", "nav-link", "", "nav nav-pills nav-level3");
|
||||
));
|
||||
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -519,7 +519,57 @@ function sql_string($p_string)
|
|||
$p_string = noalyss_str_replace('\\', '\\\\', $p_string);
|
||||
return $p_string;
|
||||
}
|
||||
/**
|
||||
* @brief Same menu for all extensions, with the right level, it calls
|
||||
* ShowItem with the right parameters
|
||||
* @global $level (int) global variable of the menu level
|
||||
* @param $p_array (array)
|
||||
* @param $default (string) selected item
|
||||
* @param $p_extra (string) extra code for the table tag (CSS or javascript)
|
||||
* @see ShowItem
|
||||
*/
|
||||
function show_menu_extension($p_array,$default="",$p_extra="")
|
||||
{
|
||||
global $level;
|
||||
|
||||
|
||||
$level++;
|
||||
switch ($level) {
|
||||
case 3:
|
||||
$p_dir='H';
|
||||
$class="nav-item nav-item-underline";
|
||||
$class_ref="nav-link";
|
||||
$p_extra="noprint nav nav-pills nav-level3";
|
||||
$class_div="menu3";
|
||||
break;
|
||||
case 2:
|
||||
$p_dir='H';
|
||||
$class="nav-item nav-item-underline";
|
||||
$class_ref="nav-link";
|
||||
$p_extra="noprint nav nav-pills nav-level2";
|
||||
$class_div="menu2";
|
||||
break;
|
||||
case 1:
|
||||
$p_dir='H';
|
||||
$class="nav-item nav-item-underline";
|
||||
$class_ref="nav-link";
|
||||
$p_extra='noprint nav nav-pills nav-fill flex-row ';
|
||||
$class_div="top_menu";
|
||||
break;
|
||||
default:
|
||||
$p_dir='H';
|
||||
$class="nav-item nav-item-underline";
|
||||
$class_ref="nav-link";
|
||||
$p_extra="noprint nav nav-level4";
|
||||
$class_div="menu3";
|
||||
break;
|
||||
}
|
||||
return "<div class=\"$class_div\">"
|
||||
. ShowItem($p_array,$p_dir,$class,$class_ref,$default,$p_extra)
|
||||
."</div>";
|
||||
|
||||
|
||||
}
|
||||
/**
|
||||
* \brief store the string which print
|
||||
* the content of p_array in a table
|
||||
|
|
@ -536,6 +586,7 @@ function sql_string($p_string)
|
|||
|
||||
function ShowItem($p_array, $p_dir='V', $class="nav-item", $class_ref="nav-link", $default="", $p_extra="nav nav-pills nav-fill")
|
||||
{
|
||||
|
||||
$ret = '';
|
||||
// for comptability with old application mtitle for anchor is replace by nav-link
|
||||
|
||||
|
|
@ -543,9 +594,9 @@ function ShowItem($p_array, $p_dir='V', $class="nav-item", $class_ref="nav-link"
|
|||
// direction Vertical
|
||||
if ($p_dir == 'V')
|
||||
{
|
||||
$ret .= "<ul class=\"$p_extra noprint \" flex-row>";
|
||||
$ret .= "<ul class=\"$p_extra \" flex-row>";
|
||||
} else {
|
||||
$ret .= "<ul class=\"$p_extra noprint \" >";
|
||||
$ret .= "<ul class=\"$p_extra \" >";
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -565,11 +616,11 @@ function ShowItem($p_array, $p_dir='V', $class="nav-item", $class_ref="nav-link"
|
|||
|
||||
if ($set==$default)
|
||||
{
|
||||
$ret.='<li class="nav-item"><A class="'.$class_ref.' active'.'" HREF="'.$href[0].'" title="'.$title.'" '.$javascript.'>'.$href[1].'</A></li>';
|
||||
$ret.='<li class="'.$class.'"><A class="'.$class_ref.' active'.'" HREF="'.$href[0].'" title="'.$title.'" '.$javascript.'>'.$href[1].'</A></li>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$ret.='<li class="nav-item"><A class="'.$class_ref.'" HREF="'.$href[0].'" title="'.$title.'" '.$javascript.'>'.$href[1].'</A></li>';
|
||||
$ret.='<li class="'.$class.'"><A class="'.$class_ref.'" HREF="'.$href[0].'" title="'.$title.'" '.$javascript.'>'.$href[1].'</A></li>';
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1072,8 +1123,7 @@ function find_default_module()
|
|||
function show_menu($module)
|
||||
{
|
||||
if ($module == 0)return;
|
||||
static $level=0;
|
||||
global $g_user;
|
||||
global $level, $g_user;
|
||||
$http=new HttpInput();
|
||||
$access_code=$http->request("ac");
|
||||
$cn = Dossier::connect();
|
||||
|
|
@ -1100,7 +1150,7 @@ function show_menu($module)
|
|||
if (!empty($amenu) && count($amenu) > 1)
|
||||
{
|
||||
$a_style_menu=array('topmenu','menu2','menu3');
|
||||
if ( $level > count($a_style_menu))
|
||||
if ( $level >= count($a_style_menu))
|
||||
$style_menu='menu3';
|
||||
else {
|
||||
$style_menu=$a_style_menu[$level];
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ function MenuAdmin()
|
|||
);
|
||||
|
||||
}
|
||||
$menu=ShowItem($item,'H',"nav-item","nav-link",$def,'nav nav-pills nav-fill ');
|
||||
$menu=show_menu_extension($item,$def);
|
||||
return $menu;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
$js="";
|
||||
$class_list_element="nav-item nav-item-underline";
|
||||
$class_link="nav-link";
|
||||
|
||||
$url="";
|
||||
if ( $amenu[$i]['me_url']!='')
|
||||
{
|
||||
$url=$amenu[$i]['me_url'];
|
||||
|
|
@ -86,6 +86,7 @@
|
|||
?>
|
||||
<?php
|
||||
endfor;
|
||||
|
||||
?>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ $menu=array(
|
|||
);
|
||||
$sb=$http->request("sb", "string", "application");
|
||||
echo '<div class="">';
|
||||
echo ShowItem($menu, "H", "nav-item", "nav-link", $sb,"nav nav-pills nav-level2");
|
||||
echo show_menu_extension($menu, $sb);
|
||||
echo '</div>';
|
||||
|
||||
$sc=$http->get("sc", "string", "none");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue