1. Go to this page and download the library: Download chapcz/chap-adminlte library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
chapcz / chap-adminlte example snippets
declare(strict_types=1);
namespace Chap\AdminModule\Presenters;
use Chap\AdminLTE\AdminControl;
use Chap\AdminLTE\IAdminControlFactory;
use Chap\AdminLTE\Notifications\MessagePanel;
use Chap\AdminLTE\Notifications\NotificationPanel;
use Chap\AdminLTE\Notifications\TaskPanel;
use Nette\Application\UI\Presenter;
use Nette\Application\UI\Form;
class AdminPresenter extends Presenter
{
/**
* @var IAdminControlFactory
*/
private $adminControlFactory;
public function __construct(IAdminControlFactory $adminControlFactory)
{
parent::__construct();
$this->adminControlFactory = $adminControlFactory;
}
/**
* @return AdminControl
*/
protected function createComponentAdmin(): AdminControl
{
$admin = $this->adminControlFactory
->create()
->addPanel($this->getExampleNotificationsPanel())
->addPanel($this->getExampleTasksPanel())
->addPanel($this->getMessagesPanel());
$admin->onSearch[] = function (Form $form): void {
$this->redirect('search', ['word' => $form->getValues()['q']]);
};
return $admin;
}
private function getExampleNotificationsPanel() :NotificationPanel
{
return (new NotificationPanel())
->setLinkAll('#')
->setCounter(50)
->setHeaderTitle('%d Notifications')
->addNotification('#', 'Something')
->addNotification('#', 'Something')
->addNotification('#', 'Something')
->addNotification('#', 'Something')
->addNotification('#', 'Something')
->addNotification('#', 'Something')
->addNotification('#', 'Something')
;
}
private function getMessagesPanel() :MessagePanel
{
return (new MessagePanel())
->setLinkAll('#')
->setCounter(2)
->setHeaderTitle('%d messages')
->addMessage('#', 'Hallo', 'world !', '/image/avatar.png', '2 hours ago')
->addMessage('#', 'This', 'is message', '/image/avatar.png', '3 hours ago');
}
private function getExampleTasksPanel() :TaskPanel
{
$panel = (new TaskPanel())
->setLinkAll('#')
->setCounter(0)
->setHeaderTitle(null);
for ($i = 1; $i <= 10; $i++ ) {
$panel->addTask('#', 'My task ' . $i, $i*10);
}
return $panel;
}
/**
* @param $word
*/
public function actionSearch(string $word): void
{
$this->flashMessage('Looking for: ' . $word, 'danger');
}
}
protected function createComponentSlowScreen(): SlowComponent
{
return $this->slowComponentFactory->create();
}
// Component with slow response (reading remote data, compute something)
protected function createComponentSlowScreenLazyLoaded(): LazyScreen
{
return new LazyScreen(function () {
return $this->slowComponentFactory->create();
});
}
public function renderDetail(): void
{
$this['admin']->addActionButton(Button::builder()->typeWarning()
->link($this->link('this#test'))->faIcon('eye')->build());
$this['admin']->addActionButton(Button::builder()->typeInfo()
->link($this->link('this#test2'))->faIcon('cog')->build());
$this['admin']->addDropdownLink(new DropLink('', 'link'));
}