public function testRegister() { $data = lego_register('field.data', 'test', ['a' => 'b']); $this->assertData($data); $data = lego_register('field.data', 'test'); $this->assertData($data); }
public function afterRegistered() { $this->response = lego_register(ResponseData::class, function () { $items = call_user_func_array($this->data(), [Request::get(self::KEYWORD_KEY), Request::all()]); return self::result($items); }, $this->name); }
/** * 自动补全的结果集 * @param callable $callable * @return $this */ public function match($callable) { $original = $this->source()->original(); $hash = md5(is_object($original) ? get_class($original) : gettype($original) . $this->name()); /** @var AutoCompleteData $data */ $data = lego_register(AutoCompleteData::class, $callable, $hash); $this->remote = $data->response()->url(); return $this; }
public function export($name, \Closure $onExport = null) { /** @var ResponseData $resp */ $resp = lego_register(ResponseData::class, function () use($name, $onExport) { if ($onExport) { call_user_func($onExport, $this); } return $this->exportAsExcel($name); }, md5('grid export' . $name)); $this->exports[$name] = $resp->url(); return $this; }
public function action(\Closure $action) { /** @var ResponseData $resp */ $resp = lego_register(ResponseData::class, $action, md5('button ' . $this->text)); return $this->url($resp->url()); }