diff --git a/Controller.php b/Controller.php
index 07ae8f3..770a7d1 100644
--- a/Controller.php
+++ b/Controller.php
@@ -141,6 +141,10 @@ class Controller extends ModuleAbstract implements WebInterface
$view->setTemplate('/Modules/Tasks/Theme/Backend/dashboard-task');
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001101001, $request, $response));
+ $taskListView = new \Modules\Tasks\Theme\Backend\Components\Tasks\BaseView($this->app, $request, $response);
+ $taskListView->setTemplate('/Modules/Tasks/Theme/Backend/Components/Tasks/list');
+ $view->addData('tasklist', $taskListView);
+
$tasks = TaskMapper::getNewest(5);
$view->addData('tasks', $tasks);
diff --git a/Theme/Backend/Components/Tasks/BaseView.php b/Theme/Backend/Components/Tasks/BaseView.php
new file mode 100644
index 0000000..20bbf2b
--- /dev/null
+++ b/Theme/Backend/Components/Tasks/BaseView.php
@@ -0,0 +1,38 @@
+setTemplate('/Modules/Tasks/Theme/Backend/Components/Tasks/list');
+ }
+
+ public function render(...$data) : string
+ {
+ $this->tasks = $data[0];
+ return parent::render();
+ }
+}
\ No newline at end of file
diff --git a/Theme/Backend/Components/Tasks/list.tpl.php b/Theme/Backend/Components/Tasks/list.tpl.php
new file mode 100644
index 0000000..ec788e4
--- /dev/null
+++ b/Theme/Backend/Components/Tasks/list.tpl.php
@@ -0,0 +1,24 @@
+
+ = $this->getHtml('Tasks', 'Tasks') ?>
+
+ | = $this->getHtml('Status', 'Tasks') ?>
+ | = $this->getHtml('Due', 'Tasks') ?>
+ | = $this->getHtml('Title', 'Tasks') ?>
+ |
+
+ tasks as $key => $task) : $c++;
+ $url = \phpOMS\Uri\UriFactory::build('{/base}/{/lang}/backend/task/single?{?}&id=' . $task->getId());
+ $color = 'darkred';
+ if($task->getStatus() === \Modules\Tasks\Models\TaskStatus::DONE) { $color = 'green'; }
+ elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::OPEN) { $color = 'darkblue'; }
+ elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::WORKING) { $color = 'purple'; }
+ elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::CANCELED) { $color = 'red'; }
+ elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::SUSPENDED) { $color = 'yellow'; } ;?>
+
+ | = $this->getHtml('S' . $task->getStatus(), 'Tasks') ?>
+ | = $this->printHtml($task->getDue()->format('Y-m-d H:i')); ?>
+ | = $this->printHtml($task->getTitle()); ?>
+
+ |
| = $this->getHtml('Empty', 0, 0); ?>
+
+ |
\ No newline at end of file
diff --git a/Theme/Backend/dashboard-task.tpl.php b/Theme/Backend/dashboard-task.tpl.php
index d0243fe..7cff0e4 100644
--- a/Theme/Backend/dashboard-task.tpl.php
+++ b/Theme/Backend/dashboard-task.tpl.php
@@ -11,37 +11,9 @@
* @version 1.0.0
* @link http://orange-management.com
*/
-/**
- * @var \phpOMS\Views\View $this
- * @var \Modules\Tasks\Models\Task[] $tasks
- */
-$tasks = $this->getData('tasks');
?>
-
- = $this->getHtml('Tasks') ?>
-
- | = $this->getHtml('Status') ?>
- | = $this->getHtml('Due') ?>
- | = $this->getHtml('Title') ?>
- |
-
- $task) : $c++;
- $url = \phpOMS\Uri\UriFactory::build('{/base}/{/lang}/backend/task/single?{?}&id=' . $task->getId());
- $color = 'darkred';
- if($task->getStatus() === \Modules\Tasks\Models\TaskStatus::DONE) { $color = 'green'; }
- elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::OPEN) { $color = 'darkblue'; }
- elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::WORKING) { $color = 'purple'; }
- elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::CANCELED) { $color = 'red'; }
- elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::SUSPENDED) { $color = 'yellow'; } ;?>
-
- | = $this->getHtml('S' . $task->getStatus()) ?>
- | = $this->printHtml($task->getDue()->format('Y-m-d H:i')); ?>
- | = $this->printHtml($task->getTitle()); ?>
-
- |
| = $this->getHtml('Empty', 0, 0); ?>
-
- |
+ = $this->getData('tasklist')->render($this->getData('tasks')); ?>
\ No newline at end of file