ID = $id; } public function getID($hideAutoID = true) { return $this->ID; } public function setButtonID($id) { $this->buttonID = $id; } public function getButtonID() { return $this->buttonID; } public function setWindowTitle($param) { $this->windowTitle = $param; } public function getWindowTitle() { return $this->windowTitle; } public function onLoad($param) { parent::onLoad($param); $this->prepareData(); } public function prepareData($forceReload = false) { $allowedButtons = array('ClientBtn', 'ReloadClients'); if($this->Page->IsPostBack || $this->Page->IsCallBack || $forceReload) { if(in_array($this->getPage()->CallBackEventTarget->ID, $allowedButtons) || $forceReload) { $params = $this->getUrlParams('clients', $this->getPage()->ClientWindow->ID); $clients = $this->Application->getModule('api')->get($params); $isDetailView = $_SESSION['view' . $this->getPage()->ClientWindow->ID] == 'details'; if($isDetailView === true) { $this->RepeaterShow->Visible = false; $this->DataGridShow->Visible = true; $this->DataGrid->DataSource = $this->Application->getModule('misc')->objectToArray($clients->output); $this->DataGrid->dataBind(); } else { $this->RepeaterShow->Visible = true; $this->DataGridShow->Visible = false; $this->Repeater->DataSource = $clients->output; $this->Repeater->dataBind(); } } } } public function sortDataGrid($sender, $param) { $params = $this->getUrlParams('clients', $this->getPage()->ClientWindow->ID); $data = $this->Application->getModule('api')->get($params)->output; $data = $this->Application->getModule('misc')->objectToArray($data); $this->DataGrid->DataSource = $this->sortData($data, $param->SortExpression, $sender->UniqueID); $this->DataGrid->dataBind(); } public function configure($sender, $param) { if($this->Page->IsCallBack) { $this->getPage()->ClientConfiguration->configure($param->CallbackParameter); } } } ?>