<?php
/**
* Common control library 0.1 for Conjuro.
*/
return [
new class("admin-title") extends Control{
protected function renderControl($meta,$data) {
?>
<div id="<?=$meta['id']?>" class="admin-title <?=$meta['class']?>"><?=$meta["title"]?>
<?php if ($meta['left']) foreach($meta['left'] as $child) c()->renderContent($child,$data); ?>
</div>
<div class="admin-title-right <?=$meta['class']?>"> <i class="fa-solid fa-gear btn-ico"></i></div>
<div class="clear"></div>
<?php
}
},
new class("admin-panel-buttons") extends Control{
protected function renderControl($meta,$data) {
foreach(m("Admin")->do("get-panel-links") as $lnk){
c()->control("admin-panel-button")->render($lnk,$data);
}
}
},
new class("admin-panel-button") extends Control{
protected function renderControl($meta,$data) {
echo '<div class="admin-panel-button">';
echo '<i class="admin-panel-button-icon fa-solid fa-'.$meta['icon'].'"></i>';
echo '<a class="admin-panel-button-link" href="'.$meta["link"].'">'.$meta["title"].'</a>';
echo '</div>';
}
},
new class("admin-tile") extends Control{
protected function renderControl($meta,$data) {
?>
<div class="admin-tile <?=$meta['class']?>">
<div class="admin-tile-header"><?=$meta['title']?></div>
<div class="admin-tile-body">
<?php if ($meta['content']) foreach($meta['content'] as $child) c()->renderContent($child,$data); ?>
</div>
</div><!-- Tile -->
<?php
}
},
new class("builder") extends Control{
protected function renderControl($meta,$data) {
?>
<div class="page-builder layout vertical">
<script>
var page=<?=json_encode($data['page'])?>;
</script>
<div class="layout horizontal right"><span><?=$data['page-id']?></span></div>
<div class="layout horizontal gap">
<div class="main layout vertical">
<div class="caption">Archivo base (layout):</div>
<div class="info">Archivo base sobre la que se configura la página.</div>
<input name="p-layout" value="<?=$data['page']['layout']?>">
</div>
<div class="main layout vertical">
<div class="caption">Controladores de página:</div>
<div class="info">Modulos a ejecutar al inicio de la página, los módilos se ejecutaran en el orden indicado.</div>
<div class="layout vertical">
<div id="controller-item-template">
<div data-#="module"></div>
<div data-#="action"></div>
<i class="fa-solid fa-trash"></i>
</div>
</div>
</div>
<div class="main layout vertical">
<div class="caption">Librerías de cotroles</div>
<div class="info">Librerías de controles a cargar, los controles disponibles dependen de las librarias cargadas.</div>
<div class="layout vertical">
<div id="control-lib-item-template">
<div data-#=""></div>
<i class="fa-solid fa-trash"></i>
</div>
</div>
</div>
</div>
</div>
<?php
}
},
];
?>