| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- namespace ThurData\Servers\KerioEmail\Core\UI\Widget\Others;
- use \ThurData\Servers\KerioEmail\Core\UI\Builder\BaseContainer;
- use \ThurData\Servers\KerioEmail\Core\UI\ResponseTemplates;
- /**
- * AjaxFieldForDataTable - a field that will load its content after creation
- *
- * @autor ThurData <info@thrudata.ch>
- */
- class AjaxFieldForDataTable extends BaseContainer implements \ThurData\Servers\KerioEmail\Core\UI\Interfaces\AjaxElementInterface
- {
- protected $id = 'ajaxFieldForDataTable';
- protected $name = 'ajaxFieldForDataTable';
- protected $vueComponent = true;
- protected $defaultVueComponentName = 'dt-ajax-field';
-
- protected $asyncLoading = true;
- protected $ajaxData = null;
- public function changeAsyncLoading($load = true)
- {
- $this->asyncLoading = (bool)$load;
- }
-
- public function getAsyncLoaging()
- {
- return $this->asyncLoading;
- }
-
- public function setAjaxData($ajaxData = null)
- {
- $this->ajaxData = $ajaxData;
-
- return $this;
- }
-
- public function getAjaxData()
- {
- return $this->ajaxData;
- }
-
- public function prepareAjaxData()
- {
- //to be overwritten
- //set here $this->ajaxData value
- }
- public function returnAjaxData()
- {
- $this->prepareAjaxData();
- return (new ResponseTemplates\RawDataJsonResponse(['ajaxData' => $this->ajaxData]))
- ->setCallBackFunction($this->callBackFunction)->setRefreshTargetIds($this->refreshActionIds);
- }
- }
|