kernel update

This commit is contained in:
2024-11-20 12:56:15 +03:00
parent 1ea3eca919
commit fd9439c9e2
32 changed files with 405 additions and 114 deletions

View File

@ -2,15 +2,24 @@
namespace kernel\widgets;
use kernel\helpers\Debug;
use kernel\Widget;
class ActionButtonWidget extends Widget
{
public function run(): void
public static function create(array $data = []): ActionButtonWidget
{
$icon = $this->data['icon'];
$btn = $this->data['btn'];
return new static($data);
}
public function run(): string
{
$label = $this->data['label'];
$btn_type = $this->data['btn_type'];
$url = $this->data['url'];
$this->cgView->render('/admin/action_button.php', ['icon' => $icon, 'btn' => $btn, 'url' => $url]);
$title = $this->data['title'] ?? '';
return $this->cgView->fetch('/action_button.php', ['label' => $label, 'btn_type' => $btn_type, 'url' => $url, 'title' => $title]);
}
}

View File

@ -0,0 +1,26 @@
<?php
namespace kernel\widgets\IconBtn;
use kernel\Widget;
use kernel\widgets\ActionButtonWidget;
class IconBtnActivateWidget extends Widget
{
public static function create(array $data = []): IconBtnActivateWidget
{
return new static($data);
}
public function run()
{
$url = $this->data['url'];
return ActionButtonWidget::create([
'label' => "<i class='fa-regular fa-circle-check'></i>",
'url' => $url,
'btn_type' => "success",
'title' => "Активировать"
])->run();
}
}

View File

@ -0,0 +1,26 @@
<?php
namespace kernel\widgets\IconBtn;
use kernel\Widget;
use kernel\widgets\ActionButtonWidget;
class IconBtnCreateWidget extends Widget
{
public static function create(array $data = []): IconBtnCreateWidget
{
return new static($data);
}
public function run()
{
$url = $this->data['url'];
return ActionButtonWidget::create([
'label' => "<i class='fa-regular fa-square-plus'></i>",
'url' => $url,
'btn_type' => "success",
'title' => "Создать"
])->run();
}
}

View File

@ -0,0 +1,26 @@
<?php
namespace kernel\widgets\IconBtn;
use kernel\Widget;
use kernel\widgets\ActionButtonWidget;
class IconBtnDeactivateWidget extends Widget
{
public static function create(array $data = []): IconBtnDeactivateWidget
{
return new static($data);
}
public function run()
{
$url = $this->data['url'];
return ActionButtonWidget::create([
'label' => "<i class='fa-regular fa-circle-xmark'></i>",
'url' => $url,
'btn_type' => "warning",
'title' => "Деактивировать"
])->run();
}
}

View File

@ -0,0 +1,26 @@
<?php
namespace kernel\widgets\IconBtn;
use kernel\Widget;
use kernel\widgets\ActionButtonWidget;
class IconBtnDeleteWidget extends Widget
{
public static function create(array $data = []): IconBtnDeleteWidget
{
return new static($data);
}
public function run()
{
$url = $this->data['url'];
return ActionButtonWidget::create([
'label' => "<i class='fa-regular fa-trash-can'></i>",
'url' => $url,
'btn_type' => "danger",
'title' => "Удалить"
])->run();
}
}

View File

@ -0,0 +1,26 @@
<?php
namespace kernel\widgets\IconBtn;
use kernel\Widget;
use kernel\widgets\ActionButtonWidget;
class IconBtnEditWidget extends Widget
{
public static function create(array $data = []): IconBtnEditWidget
{
return new static($data);
}
public function run()
{
$url = $this->data['url'];
return ActionButtonWidget::create([
'label' => "<i class='fa-solid fa-pen'></i>",
'url' => $url,
'btn_type' => "success",
'title' => "Редактировать"
])->run();
}
}

View File

@ -0,0 +1,26 @@
<?php
namespace kernel\widgets\IconBtn;
use kernel\Widget;
use kernel\widgets\ActionButtonWidget;
class IconBtnInstallWidget extends Widget
{
public static function create(array $data = []): IconBtnInstallWidget
{
return new static($data);
}
public function run()
{
$url = $this->data['url'];
return ActionButtonWidget::create([
'label' => "<i class='fa-solid fa-download'></i>",
'url' => $url,
'btn_type' => "success",
'title' => "Установить"
])->run();
}
}

View File

@ -0,0 +1,26 @@
<?php
namespace kernel\widgets\IconBtn;
use kernel\Widget;
use kernel\widgets\ActionButtonWidget;
class IconBtnListWidget extends Widget
{
public static function create(array $data = []): IconBtnListWidget
{
return new static($data);
}
public function run()
{
$url = $this->data['url'];
return ActionButtonWidget::create([
'label' => "<i class='fa-regular fa-rectangle-list'></i>",
'url' => $url,
'btn_type' => "primary",
'title' => "Список"
])->run();
}
}

View File

@ -0,0 +1,26 @@
<?php
namespace kernel\widgets\IconBtn;
use kernel\Widget;
use kernel\widgets\ActionButtonWidget;
class IconBtnUpdateWidget extends Widget
{
public static function create(array $data = []): IconBtnUpdateWidget
{
return new static($data);
}
public function run()
{
$url = $this->data['url'];
return ActionButtonWidget::create([
'label' => "<i class='fa-solid fa-cloud-arrow-down'></i>",
'url' => $url,
'btn_type' => "info",
'title' => "Обновить"
])->run();
}
}

View File

@ -0,0 +1,27 @@
<?php
namespace kernel\widgets\IconBtn;
use kernel\Widget;
use kernel\widgets\ActionButtonWidget;
class IconBtnViewWidget extends Widget
{
public static function create(array $data = []): IconBtnViewWidget
{
return new static($data);
}
public function run(): string
{
$url = $this->data['url'];
return ActionButtonWidget::create([
'btn_type' => "primary",
'label' => "<i class='fa-regular fa-eye'></i>",
'url' => $url,
'title' => "Просмотреть"
])->run();
}
}

View File

@ -11,7 +11,7 @@ class MenuWidget extends Widget
public function run(): void
{
$menu = Menu::where("parent_id", 0)->get()->sortBy("priority");
$this->cgView->render('/admin/menu.php', ['menu' => $menu]);
$this->cgView->render('/menu.php', ['menu' => $menu]);
}
}

View File

@ -13,6 +13,6 @@ class ModuleTabsWidget extends Widget
'/admin' => 'Локальные',
'/admin/module_shop_client' => 'Каталог'
];
$this->cgView->render('/admin/module_tabs.php', ['tabs' => $tabs]);
$this->cgView->render('/module_tabs.php', ['tabs' => $tabs]);
}
}