diff options
| author | emkael <emkael@tlen.pl> | 2016-04-06 13:50:31 +0200 |
|---|---|---|
| committer | emkael <emkael@tlen.pl> | 2016-04-06 13:51:23 +0200 |
| commit | dfe234a7aaaacedcc94716f955b44a1b50c4a057 (patch) | |
| tree | 3c16b945b65a654d6dd63421250fb2bb496cd1f2 /app/php/components/CalendarScaffold.php | |
| parent | fd7b7aa1bade514a87667ff90b94dc3050f68560 (diff) | |
* components -> controls
Diffstat (limited to 'app/php/components/CalendarScaffold.php')
| -rw-r--r-- | app/php/components/CalendarScaffold.php | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/app/php/components/CalendarScaffold.php b/app/php/components/CalendarScaffold.php deleted file mode 100644 index f265d53..0000000 --- a/app/php/components/CalendarScaffold.php +++ /dev/null @@ -1,127 +0,0 @@ -<?php - -Prado::using('System.Web.UI.ActiveControls.TActiveDataGrid'); -Prado::using('System.Web.UI.ActiveControls.TActiveTextBox'); -Prado::using('Application.facades.CalendarFacade'); - -class CalendarScaffold extends TTemplateControl { - - public function setFacade(Facade $facade) { - $this->setViewState('Facade', $facade); - } - - public function getFacade() { - return $this->getViewState('Facade'); - } - - public function onPreRender($param) { - parent::onPreRender($param); - if (!$this->Page->IsPostBack && !$this->Page->IsCallBack) { - $this->_rebindData(); - } - } - - private function _rebindCalendars(array $calendars) { - $this->Calendars->DataSource = $calendars; - $this->Calendars->dataBind(); - } - - private function _rebindCategoryList(array $categories) { - foreach ($this->Calendars->Columns as $column) { - if ($column->ID === 'Category' - && $column instanceof TActiveDropDownListColumn) { - $column->ListDataSource = $categories; - } - } - } - - private function _rebindData($refresh = FALSE) { - $this->_rebindCategoryList( - $this->_getCategories() - ); - $this->_rebindCalendars( - $this->_getCalendars($refresh) - ); - } - - private function _getCalendars($refresh = FALSE) { - if ($refresh) { - $this->clearViewState('Calendars'); - } - $calendars = $this->getViewState( - 'Calendars', - $this->getFacade()->getAll() - ); - $this->setViewState('Calendars', $calendars); - return $calendars; - } - - private function _getCategories() { - $categories = $this->getViewState( - 'Categories', - $this->getFacade()->getCategories() - ); - $this->setViewState('Categories', $categories); - return $categories; - } - - public function editRow($sender, $param) { - $this->Calendars->EditItemIndex = $param->Item->ItemIndex; - $this->_rebindData(); - } - - private function _compileSaveData(TDataGridItem $item) { - return [ - 'CategoryID' => $item->Category->DropDownList->SelectedValue, - 'Visible' => $item->Visible->CheckBox->Checked, - 'CustomName' => $item->CustomName->TextBox->SafeText, - 'CustomUrl' => $item->CustomUrl->TextBox->SafeText, - 'CustomImage' => $item->CustomImage->Value->SafeText - ]; - } - - public function saveRow($sender, $param) { - $calendar = $this->getFacade()->get( - $sender->DataKeys[$param->Item->ItemIndex] - ); - if ($calendar) { - foreach ($calendar as $c) { - $c->saveData($this->_compileSaveData($param->Item)); - } - } else { - throw new TInvalidDataValueException('Calendar not found'); - } - $this->Calendars->EditItemIndex = -1; - $this->_rebindData(TRUE); - } - - public function cancelRowEdit($sender, $param) { - $this->Calendars->EditItemIndex = -1; - $this->_rebindData(); - } - - public function uploadRowFile($sender, $param) { - $fileType = $sender->getFileType(); - if (preg_match('/^image\//', $fileType)) { - $calendar = $this->getFacade()->get($sender->CustomData); - if ($calendar) { - $targetFile = $calendar[0]->getCustomImagePath( - $sender->getLocalName(), - $fileType - ); - if ($sender->saveAs($targetFile)) { - $sender->NamingContainer->CustomImage->Value->Text = basename( - $targetFile - ); - } - } else { - throw new TInvalidDataValueException('Calendar not found'); - } - } else { - throw new TInvalidDataTypeException('Invalid file type'); - } - } - -} - -?> |
