1: <?php
2:
3: namespace Yajra\Datatables\Contracts;
4:
5: /**
6: * Interface DataTableContract
7: *
8: * @package Yajra\Datatables\Contracts
9: * @author Arjay Angeles <aqangeles@gmail.com>
10: */
11: interface DataTableContract
12: {
13: /**
14: * Render view.
15: *
16: * @param $view
17: * @param array $data
18: * @param array $mergeData
19: * @return \Illuminate\Http\JsonResponse|\Illuminate\View\View
20: */
21: public function render($view, $data = [], $mergeData = []);
22:
23: /**
24: * @return \Illuminate\Http\JsonResponse
25: */
26: public function ajax();
27:
28: /**
29: * @return \Yajra\Datatables\Html\Builder
30: */
31: public function html();
32:
33: /**
34: * @return \Yajra\Datatables\Html\Builder
35: */
36: public function builder();
37:
38: /**
39: * @return \Yajra\Datatables\Request
40: */
41: public function request();
42:
43: /**
44: * @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Query\Builder|\Illuminate\Support\Collection
45: */
46: public function query();
47: }
48: