AddDeferredBlock(new DataTableConfig($this)); $this->AddSubBlock(new DataTableConfig($this)); $this->aDisplayColumns = []; $this->aOptions = []; $this->aResultColumns = []; } /** * @return mixed */ public function GetAjaxUrl(): string { return $this->sAjaxUrl; } /** * @param mixed $sAjaxUrl */ public function SetAjaxUrl(string $sAjaxUrl): void { $this->sAjaxUrl = $sAjaxUrl; } /** * @return mixed */ public function GetAjaxData(string $sName) { if (isset($this->aAjaxData[$sName])) { return $this->aAjaxData[$sName]; } return ''; } /** * @return mixed */ public function GetJsonAjaxData(): string { return json_encode($this->aAjaxData); } /** * @param mixed $sAjaxData */ public function SetAjaxData(array $aAjaxData): void { $this->aAjaxData = $aAjaxData; } /** * @return mixed */ public function GetDisplayColumns(): array { return $this->aDisplayColumns; } /** * @param mixed $aColumns */ public function SetDisplayColumns($aColumns): void { $this->aDisplayColumns = $aColumns; } /** * @return mixed */ public function GetResultColumns(): array { return $this->aResultColumns; } /** * @return mixed */ public function GetResultColumnsAsJson(): string { return json_encode($this->aResultColumns); } /** * @param mixed $aColumns */ public function SetResultColumns($aColumns): void { $this->aResultColumns = $aColumns; } public function GetOption(string $sOption) { if (isset($this->aOptions[$sOption])) { return $this->aOptions[$sOption]; } return null; } /** * @return mixed */ public function GetOptions(): array { return $this->aOptions; } /** * @param mixed $aOptions */ public function SetOptions($aOptions): void { $this->aOptions = $aOptions; } public function GetJSRefresh(): string { return "$('#".$this->sId."').DataTable().clearPipeline(); $('#".$this->sId."').DataTable().ajax.reload(null, false);"; } }