Source of file GriddleField.php
Size: 1,854 Bytes - Last Modified: 2021-12-23T10:53:18+00:00
/var/www/docs.ssmods.com/process/src/code/GriddleField.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | <?php /** * Class GriddleField */ class GriddleField extends ReactFormField { private $source; private $length = 2; private $initialStart = 0; private $initialSort = 'Answer'; private $initialAscending = 'true'; /** * @param string $name * @param null $title * @param SS_List $list */ public function __construct($name, $title = null, SS_List $list = null) { parent::__construct($name, $title, null); $this->name = $name; $this->source = new GriddleFieldSource($list); } public function handleGetAction(SS_HTTPRequest $request) { $response = new SS_HTTPResponse(); $response->setBody( json_encode($this->source->serialize( self::getDefault($request, 'sort', null), self::getDefault($request, 'ascending', $this->initialAscending), self::getDefault($request, 'start', $this->initialStart), self::getDefault($request, 'length', $this->length) )) ); return $response; } public function getSource() { return $this->source; } protected static function getDefault(SS_HTTPRequest $request, $var, $default) { if ($value = $request->getVar($var)) { return $value; } return $default; } public function getInitialProperties() { return array( 'title' => $this->title, 'field_name' => $this->name, 'field_id' => $this->getComponentID, 'columns' => $this->source->getColumns(), 'data' => $this->source->serialize( $this->initialSort, $this->initialAscending, $this->initialStart, $this->length ) ); } } |