diff options
author | emkael <emkael@tlen.pl> | 2016-05-13 16:16:40 +0200 |
---|---|---|
committer | emkael <emkael@tlen.pl> | 2016-05-13 16:16:40 +0200 |
commit | 2bc5a4cc767b582b8a5cc5de5667c3687ec236a0 (patch) | |
tree | dc298c0a8a953618c3c2c2a5c5be0f7016ed4a50 /app/php/controls/CalendarGrid.php | |
parent | 3ed90e8e054c4ad73017de3b2e23a79726487661 (diff) |
* calendar grid display control
Diffstat (limited to 'app/php/controls/CalendarGrid.php')
-rw-r--r-- | app/php/controls/CalendarGrid.php | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/app/php/controls/CalendarGrid.php b/app/php/controls/CalendarGrid.php new file mode 100644 index 0000000..4ebfacd --- /dev/null +++ b/app/php/controls/CalendarGrid.php @@ -0,0 +1,59 @@ +<?php + +Prado::using('Application.web.FacadeTemplateControl'); +Prado::using('Application.facades.EventFacade'); +Prado::using('Application.user.DbUser'); + +class CalendarGrid extends FacadeTemplateControl { + + public function setMonth($month) { + $this->setControlState('Month', $month); + } + + public function getMonth() { + return $this->getControlState('Month'); + } + + public function setYear($year) { + $this->setControlState('Year', $year); + } + + public function getYear() { + return $this->getControlState('Year'); + } + + public function setUserToDisplay(DbUser $user) { + $this->setControlState('User', $user); + } + + public function getUserToDisplay() { + return $this->getControlState('User'); + } + + private function _getGrid() { + return $this->getFacade()->getCalendarListForUser( + $this->UserToDisplay, + $this->Month, + $this->Year + ); + } + + public function onPreRender($param) { + parent::onPreRender($param); + $this->Weeks->DataSource = $this->_getGrid()->Weeks; + $this->Weeks->dataBind(); + } + + public function weekDataBind($sender, $param) { + $param->Item->Days->DataSource = $param->Item->Data; + $param->Item->Days->dataBind(); + } + + public function dayDataBind($sender, $param) { + $param->Item->Events->DataSource = $param->Item->Data->Events; + $param->Item->Events->dataBind(); + } + +} + +?> |