From 9b8f472b3b5b96051244c33ec7057d93cd1d9a6e Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Mon, 17 Jul 2017 20:56:45 +0200 Subject: [PATCH] Prepare calendar event popup --- Controller.php | 3 ++ Theme/Backend/Components/Event/BaseView.php | 45 ++++++++++++++++++++ Theme/Backend/Components/Event/popup.tpl.php | 27 ++++++++++++ Theme/Backend/Lang/en.lang.php | 2 + Theme/Backend/calendar-dashboard.tpl.php | 29 ++++--------- 5 files changed, 86 insertions(+), 20 deletions(-) create mode 100644 Theme/Backend/Components/Event/BaseView.php create mode 100644 Theme/Backend/Components/Event/popup.tpl.php diff --git a/Controller.php b/Controller.php index 2441bd6..37f1ea5 100644 --- a/Controller.php +++ b/Controller.php @@ -103,6 +103,9 @@ class Controller extends ModuleAbstract implements WebInterface $calendar->setDate(new SmartDateTime($request->getData('date') ?? 'now')); $view->addData('calendar', $calendar); + $calendarEventPopup = new \Modules\Calendar\Theme\Backend\Components\Event\BaseView($this->app, $request, $response); + $view->addData('calendarEventPopup', $calendarEventPopup); + return $view; } diff --git a/Theme/Backend/Components/Event/BaseView.php b/Theme/Backend/Components/Event/BaseView.php new file mode 100644 index 0000000..b87412c --- /dev/null +++ b/Theme/Backend/Components/Event/BaseView.php @@ -0,0 +1,45 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +declare(strict_types=1); + +namespace Modules\Calendar\Theme\Backend\Components\Event; + +use phpOMS\Views\View; +use phpOMS\ApplicationAbstract; +use phpOMS\Message\RequestAbstract; +use phpOMS\Message\ResponseAbstract; + +class BaseView extends View +{ + private $id = ''; + + public function __construct(ApplicationAbstract $app, RequestAbstract $request, ResponseAbstract $response) + { + parent::__construct($app, $request, $response); + $this->setTemplate('/Modules/Calendar/Theme/Backend/Components/Event/popup'); + } + + public function getId() : string + { + return $this->id; + } + + public function render(...$data) : string + { + $this->id = $data[0]; + return parent::render(); + } +} \ No newline at end of file diff --git a/Theme/Backend/Components/Event/popup.tpl.php b/Theme/Backend/Components/Event/popup.tpl.php new file mode 100644 index 0000000..64b0399 --- /dev/null +++ b/Theme/Backend/Components/Event/popup.tpl.php @@ -0,0 +1,27 @@ + \ No newline at end of file diff --git a/Theme/Backend/Lang/en.lang.php b/Theme/Backend/Lang/en.lang.php index b69a962..8a3131d 100644 --- a/Theme/Backend/Lang/en.lang.php +++ b/Theme/Backend/Lang/en.lang.php @@ -15,7 +15,9 @@ */ return ['Calendar' => [ 'Blocks' => 'Blocks', + 'Close' => 'Close', 'Day' => 'Day', + 'Event' => 'Event', 'Interval' => 'Interval', 'Layout' => 'Layout', 'List' => 'List', diff --git a/Theme/Backend/calendar-dashboard.tpl.php b/Theme/Backend/calendar-dashboard.tpl.php index 7685707..4ca6da0 100644 --- a/Theme/Backend/calendar-dashboard.tpl.php +++ b/Theme/Backend/calendar-dashboard.tpl.php @@ -15,7 +15,13 @@ $calendar = $this->getData('calendar');
-
+
getDate()->format('Y') . '-' . $calendar->getDate()->format('m') . '-' . '01'); for($i = 0; $i < 6; $i++) : ?>
@@ -30,7 +36,7 @@ $calendar = $this->getData('calendar'); $events = $calendar->getEventByDate($current); $current->smartModify(0, 0, 1); foreach($events as $event) : ?> -
  • getName(); ?> +
  • getName(); ?>
  • @@ -84,21 +90,4 @@ $calendar = $this->getData('calendar'); - +getData('calendarEventPopup')->render('iCalendarEvent'); ?> \ No newline at end of file