summaryrefslogtreecommitdiff
path: root/app/php/controls/CalendarGrid.php
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2016-05-13 16:16:40 +0200
committeremkael <emkael@tlen.pl>2016-05-13 16:16:40 +0200
commit2bc5a4cc767b582b8a5cc5de5667c3687ec236a0 (patch)
treedc298c0a8a953618c3c2c2a5c5be0f7016ed4a50 /app/php/controls/CalendarGrid.php
parent3ed90e8e054c4ad73017de3b2e23a79726487661 (diff)
* calendar grid display control
Diffstat (limited to 'app/php/controls/CalendarGrid.php')
-rw-r--r--app/php/controls/CalendarGrid.php59
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();
+ }
+
+}
+
+?>