Select Git revision
component.php
-
Hahn Axel (hahn) authoredHahn Axel (hahn) authored
component.php 5.25 KiB
<?php
$sComponent=(isset($_GET['id']) ? preg_replace('/[^a-z]/', '', $_GET['id']) : '');
/**
* @var options array for example widget to display
*/
$aWidgetOptions=[];
// get all components ... as key or all items
// print_r($renderAdminLTE->getComponents({true|false}));
// get array of a component
// print_r($renderAdminLTE->getComponent($sComponent));
// echo '<pre>';
// print_r($renderAdminLTE->getComponent($sComponent));
// echo '</pre>';
// echo '<pre>';
// print_r($renderAdminLTE->getComponentParamkey($sComponent, 'type'));
// echo '</pre>';
// ----------------------------------------------------------------------
if(!$renderAdminLTE->getComponent($sComponent)) {
echo '<h2>Show all components...</h2>';
$sAllWidgets='';
foreach($renderAdminLTE->getComponents(1) as $sComponent=>$aComponent){
// code to fix ...
$aWidgetOptions=[];
foreach($renderAdminLTE->getComponentParamkeys($sComponent, true) as $sOptionkey=>$aParam){
if($aParam['example_value']!==''){
$aWidgetOptions[$sOptionkey]=$aParam['example_value'];
}
}
// print_r($aWidgetOptions);
$sAllWidgets.= $renderAdminLTE->addCol(
$renderAdminLTE->getCard(array (
'title' => $aComponent['label'],
//'tools' => 'Tools',
'text' => getOutput("\$renderAdminLTE->".$aComponent['method']."(".var_export($aWidgetOptions, 1).");"),
'footer' => '<a href="?id='.$sComponent.'" class="btn btn-secondary">Test ['.$aComponent['label'].']</a>',
)),
3,
false
);
}
echo $renderAdminLTE->addRow(
$sAllWidgets
);
} else {
$aComp=$renderAdminLTE->getComponent($sComponent);
// --------- prepare output for parameter Testing
$sTester='<form
method="GET"
action="?"
>
<input type="hidden" name="id" value="'.$sComponent.'">
<table class="table">
<tbody>
';
$renderAdminLTE->getComponentParamkeys($sComponent, 1);
foreach($renderAdminLTE->getComponentParamkeys($sComponent, true) as $sOptionkey=>$aParam){
$sInput='';
$sValue=(isset($_GET[$sOptionkey]) ? $_GET[$sOptionkey] : (
isset($aParam['example_value'])
? $aParam['example_value']
: ''
));
if($sValue!==''){
$aWidgetOptions[$sOptionkey]=$sValue;
}
if (isset($aParam['select'])){
foreach($aParam['select']['values'] as $sSelectItem=>$sLabel){
// $sInput.='<option value="'.$sSelectItem.'">'.($sSelectItem ? $sSelectItem : '-- none --').'</option>';
$sInput.='<option value="'.$sSelectItem.'"'
.($sValue==$sSelectItem ? ' selected="selected"' : '')
.'>'.$sSelectItem .' -> '. $sLabel.'</option>';
}
$sInput='<nobr><select size="1" name="'.$sOptionkey.'" onchange="form.submit();">'.$sInput.'</select>'
.' <button name="doloop" value="'.$sOptionkey.'" class="btn btn-secondary">Loop</button><nobr>';
} else {
$sInput.='<input type="text" name="'.$sOptionkey.'" value="'.$sValue.'"/>';
}
// testing - table row
$sTester.='<tr>
<td><code>'.$sOptionkey.'</code><br>('.$aParam['group'] .')</td>
<td>'. $aParam['description'] .'<br>'.$sInput.'</td>
</tr>';
}
$sTester.='
<tr><td colspan="2">
<button class="btn btn-primary">Submit</button>
<a href="?id='.$sComponent.'" class="btn btn-secondary">Reset</a>
</td></tr>
</tbody></table>
</form>
';
// --------- loop over a single var
$sLooper='';
if(
isset($_GET['doloop'])
&& $renderAdminLTE->getComponentParamkey($sComponent, $_GET['doloop'])
){
$sLoopvar=$_GET['doloop'];
foreach($renderAdminLTE->getValidParamValues($sComponent, $sLoopvar) as $sLoopValue){
$aLoopoptions=$aWidgetOptions;
$aLoopoptions[$sLoopvar]=$sLoopValue;
$sLooper.=$renderAdminLTE->addCol(
'<h4>"'.$sLoopvar.'" => "'.$sLoopValue.'"</h4>'
.getOutput('$renderAdminLTE->'.$aComp['method'].'('.var_export($aLoopoptions, 1).')'),
3
);
}
}
// ---------- output
echo $renderAdminLTE->addRow(
'<h2><a href="?" class="btn btn-secondary"> << </a> '.$aComp['label'].'</h2>'
)
.$renderAdminLTE->addRow(
'<p>'.$aComp['description'].'</p>'
)
// .$renderAdminLTE->addRow(
// $renderAdminLTE->getCard(['title'=>'Syntax', 'text'=>'<pre>echo $renderAdminLTE-><strong>'.$aComp['method'].'</strong>($aOptions)</pre>'])
// )
.$renderAdminLTE->addRow(
'<h3>Testing section</h3>'
)
.$renderAdminLTE->addRow(
$renderAdminLTE->addCol(
$renderAdminLTE->getCard(['title'=>'Parameter keys for '.$sComponent, 'text'=>$sTester]),
4
).$renderAdminLTE->addCol(
showExample('$renderAdminLTE->'.$aComp['method'].'('.var_export($aWidgetOptions, 1).')') ,
8
)
)
.(
$sLooper
? $renderAdminLTE->addRow($sLooper)
: ''
)
;
}