Skip to content
Snippets Groups Projects
Commit d0f4e633 authored by Hahn Axel (hahn)'s avatar Hahn Axel (hahn)
Browse files

update renderer class

parent b1067d6f
Branches
No related tags found
1 merge request!16Update renderer class; update docker env to PHP 8.3
This commit is part of merge request !16. Comments created here will be created in the context of that merge request.
...@@ -158,26 +158,6 @@ class renderadminlte { ...@@ -158,26 +158,6 @@ class renderadminlte {
// //
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
/**
* verify if an item has a correct value
* it returns false if a key is not defined to be checked
* it returns true if it was validated successfully
* it dies with an errror, if a value check failed
*
* @param string $sType type; key in $_aValidItems; one of bgcolor|color|type|size
* @param string $sValue value to check
* @param string $sReferrer optional: method that called this function
*/
protected function _DELETE_ME___checkValue($sType, $sValue, $sReferrer=false){
if (!$sValue || !array_key_exists($sType, $this->_aValidItems)){
return false;
}
if(array_search($sValue, $this->_aValidItems[$sType])===false){
echo "ERROR: ".($sReferrer ? $sReferrer.' - ' : '')."value [$sValue] is not a valid for type [$sType]; it must be one of ".implode("|", $this->_aValidItems[$sType]).'<br>';
}
return true;
}
/** /**
* used in cosntructor * used in cosntructor
* initialize all element definitions * initialize all element definitions
...@@ -580,13 +560,16 @@ class renderadminlte { ...@@ -580,13 +560,16 @@ class renderadminlte {
$iCounter=0; $iCounter=0;
} }
switch ($aLink['label']) {
// special menu entry: horizontal bar (label is "-") // special menu entry: horizontal bar (label is "-")
if($aLink['label']=='-'){ case '-': return '<div class="dropdown-divider"></div>'; break;
return '<div class="dropdown-divider"></div>';
}
// special menu entry: hamburger menu item (label is "=") // special menu entry: hamburger menu item (label is "=")
if($aLink['label']=='='){ case '=': return '<li class="nav-item"><a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a></li>'; break;
return '<li class="nav-item"><a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a></li>';
// special menu entry: hamburger menu item (label is "|")
// requires css: .navbar-nav li.divider{border-left: 1px solid rgba(0,0,0,0.2);}
case '|': return '<li class="divider"></li>'; break;
} }
$aChildren=isset($aLink['children']) && is_array($aLink['children']) && count($aLink['children']) ? $aLink['children'] : false; $aChildren=isset($aLink['children']) && is_array($aLink['children']) && count($aLink['children']) ? $aLink['children'] : false;
...@@ -670,9 +653,16 @@ class renderadminlte { ...@@ -670,9 +653,16 @@ class renderadminlte {
* @param array $aUlOptions array of html attrubutes for wrapping UL tag * @param array $aUlOptions array of html attrubutes for wrapping UL tag
* @return string * @return string
*/ */
public function getTopNavigation($aNavItems, $aUlOptions=['class'=>'navbar-nav']){ public function getTopNavigation($aNavItems, $aUlOptions=false, $aNavItemsRight=[], $aUlOptionsRight=false){
// array_unshift($aNavItems, ['class'=>'nav-link', 'data-widget'=>'pushmenu', 'href'=>'#', 'role'=>'button', 'label'=>'<i class="fa-solid fa-bars"></i>']); // array_unshift($aNavItems, ['class'=>'nav-link', 'data-widget'=>'pushmenu', 'href'=>'#', 'role'=>'button', 'label'=>'<i class="fa-solid fa-bars"></i>']);
return $this->addWrapper('ul', $aUlOptions, $this->getNavItems($aNavItems)); $aUlOptLeft=$aUlOptions ? $aUlOptions : ['class'=>'navbar-nav'];
$aUlOptRight=$aUlOptionsRight ? $aUlOptionsRight : ['class'=>'navbar-nav ml-auto'];
return $this->addWrapper('ul', $aUlOptLeft, $this->getNavItems($aNavItems))
.(count($aNavItemsRight)
? $this->addWrapper('ul', $aUlOptRight, $this->getNavItems($aNavItemsRight))
: ''
)
;
} }
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
...@@ -1085,7 +1075,7 @@ class renderadminlte { ...@@ -1085,7 +1075,7 @@ class renderadminlte {
// print_r($aOptions); // print_r($aOptions);
$sVariantPrefix=$aVariants[$aOptions['variant']] ? $aVariants[$aOptions['variant']] : $aVariants['default']; $sVariantPrefix=isset($aVariants[$aOptions['variant']]) ? $aVariants[$aOptions['variant']] : $aVariants['default'];
$sClass='card' $sClass='card'
. $this->_addClassValue($aOptions['type'], $sVariantPrefix) . $this->_addClassValue($aOptions['type'], $sVariantPrefix)
.($aOptions['shadow'] && isset($this->_aValueMappings['shadow'][$aOptions['shadow']]) .($aOptions['shadow'] && isset($this->_aValueMappings['shadow'][$aOptions['shadow']])
...@@ -1106,10 +1096,13 @@ class renderadminlte { ...@@ -1106,10 +1096,13 @@ class renderadminlte {
$aOptions['tools'].=($aOptions[$sTool] ? $sHtml : ''); $aOptions['tools'].=($aOptions[$sTool] ? $sHtml : '');
} }
// build parts of the card // build parts of the card
$sCardHeader=$this->addWrapper('div', ['class'=>'card-header'], $sCardHeader=$aOptions['title']
? $this->addWrapper('div', ['class'=>'card-header'],
$this->_tag('h3', ['class'=>'card-title', 'label'=>$aOptions['title']]) $this->_tag('h3', ['class'=>'card-title', 'label'=>$aOptions['title']])
. ($aOptions['tools'] ? $this->_tag('div', ['class'=>'card-tools', 'label'=>$aOptions['tools']]) : '') . ($aOptions['tools'] ? $this->_tag('div', ['class'=>'card-tools', 'label'=>$aOptions['tools']]) : '')
); )
: ''
;
$sCardBody=$this->_tag('div', ['class'=>'card-body', 'label'=>$aOptions['text']]); $sCardBody=$this->_tag('div', ['class'=>'card-body', 'label'=>$aOptions['text']]);
$sCardFooter=$aOptions['footer'] ? $this->_tag('div', ['class'=>'card-footer', 'label'=>$aOptions['footer']]) : ''; $sCardFooter=$aOptions['footer'] ? $this->_tag('div', ['class'=>'card-footer', 'label'=>$aOptions['footer']]) : '';
...@@ -1372,7 +1365,6 @@ class renderadminlte { ...@@ -1372,7 +1365,6 @@ class renderadminlte {
if( ! isset($aOptions['tabs']) || ! is_array($aOptions['tabs']) ){ if( ! isset($aOptions['tabs']) || ! is_array($aOptions['tabs']) ){
return false; return false;
} }
static $iTabCounter;
if (!isset($iTabCounter)){ if (!isset($iTabCounter)){
$iTabCounter=1; $iTabCounter=1;
} else { } else {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment