53 lines
1.7 KiB
PHP
53 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace eftec\bladeone;
|
|
|
|
/*
|
|
* Its an example of a custom set of functions for bladeone.
|
|
* in examples/TestCustom.php there is a working example
|
|
*/
|
|
trait BladeOneCustom
|
|
{
|
|
private $customItem = []; // indicates the type of the current tag. such as select/selectgroup/etc.
|
|
|
|
//<editor-fold desc="compile function">
|
|
/**
|
|
* Usage @panel('title',true,true).....@endpanel()
|
|
*
|
|
* @param $expression
|
|
* @return string
|
|
*/
|
|
protected function compilePanel($expression)
|
|
{
|
|
\array_push($this->customItem, 'Panel');
|
|
return $this->phpTag . "echo \$this->panel{$expression}; ?>";
|
|
}
|
|
|
|
protected function compileEndPanel()
|
|
{
|
|
$r = @\array_pop($this->customItem);
|
|
if (\is_null($r)) {
|
|
$this->showError("@endpanel", "Missing @compilepanel or so many @compilepanel", true);
|
|
}
|
|
return " </div></section><!-- end panel -->"; // we don't need to create a function for this.
|
|
}
|
|
|
|
//</editor-fold>
|
|
|
|
//<editor-fold desc="used function">
|
|
protected function panel($title = "", $toggle = true, $dismiss = true)
|
|
{
|
|
return "<section class='panel'>
|
|
<header class='panel-heading'>
|
|
<div class='panel-actions'>
|
|
" . (($toggle) ? "<a href='#' class='panel-action panel-action-toggle' data-panel-toggle></a>" : "") . "
|
|
" . (($dismiss) ? "<a href='#' class='panel-action panel-action-dismiss' data-panel-dismiss></a>" : "") . "
|
|
</div>
|
|
|
|
<h2 class='panel-title'>$title</h2>
|
|
</header>
|
|
<div class='panel-body'>";
|
|
}
|
|
//</editor-fold>
|
|
}
|