jinoantony / laravel-kanban
laravel 的看板
v1.0.1
2023-10-26 16:14 UTC
Requires
- php: ^7.0|^8.0
- illuminate/filesystem: 5.5.*|^6|^7|^8|^9|^10
- illuminate/view: 5.5.*|^6|^7|^8|^9|^10
This package is auto-updated.
Last update: 2024-09-26 18:15:47 UTC
README
这是一个用于jkanban库的laravel包装器。
安装
您可以使用composer安装此包。
composer require jinoantony/laravel-kanban
此包支持包自动发现,因此您不需要手动注册。如果您想手动注册提供者,请将以下行添加到config/app.php
文件中。
JinoAntony\Kanban\LaravelKanbanServiceProvider::class,
用法
此包在底层使用jkanban库。因此,不要忘记在视图文件中包含jkanban.min.js
和jkanban.min.css
。
创建看板
您可以使用artisan命令生成看板。
php artisan kanban:make TaskKanban
这将创建一个位于app/Kanban
目录中的新文件TaskKanban
。
默认情况下,看板的结构如下。
class TaskKanban extends Kanban { /** * Get the list of boards * * @return KBoard[] */ public function getBoards() { return [ KBoard::make('board1') ->setTitle('Board1 title') ->canDragTo('board2'), KBoard::make('board2') ->setTitle('Board2 title') ->canDragTo('board3'), KBoard::make('board3') ->setTitle('Board3 title') ->canDragTo('board2') ->canDragTo('board1'), ]; } /** * Get the data for each board * * @return array */ public function data() { return [ 'board1' => [ KItem::make('1') ->setContent('Item1'), KItem::make('2') ->setContent('Item2'), ], 'board2' => [ KItem::make('3') ->setContent('Item3'), KItem::make('4') ->setContent('Item4'), ], 'board3' => [ KItem::make('5') ->setContent('Item5'), KItem::make('6') ->setContent('Item6'), ], ]; } public function build() { return $this->element('.kanban-board') ->margin('20px') ->width('365px'); } }
创建一个视图来渲染看板。
<!DOCTYPE html> <html lang="en"> <head> <title>Kanban</title> <link rel="stylesheet" href="{{ asset('css/jkanban.min.css') }}" /> </head> <body> <div class="kanban-board"></div> <script src="{{ asset('js/jkanban.min.js') }}"></script> {!! $kanban->scripts() !!} </body> </html>
然后,在您的控制器中,
use App\Kanban\TaskKanban; class TaskController extends Controller { public function get(TaskKanban $kanban) { return $kanban->render('kanban'); } }
现在在web.php
中添加一个路由。
Route::get('task', 'TaskController@get');