1: <?php
2:
3: namespace Yajra\Datatables\Contracts;
4:
5: /**
6: * Interface DataTableEngineContract
7: *
8: * @package Yajra\Datatables\Contracts
9: * @author Arjay Angeles <aqangeles@gmail.com>
10: */
11: interface DataTableEngineContract
12: {
13: /**
14: * Get results.
15: *
16: * @return mixed
17: */
18: public function results();
19:
20: /**
21: * Count results.
22: *
23: * @return integer
24: */
25: public function count();
26:
27: /**
28: * Count total items.
29: *
30: * @return integer
31: */
32: public function totalCount();
33:
34: /**
35: * Set auto filter off and run your own filter.
36: * Overrides global search.
37: *
38: * @param \Closure $callback
39: * @param bool $globalSearch
40: * @return $this
41: */
42: public function filter(\Closure $callback, $globalSearch = false);
43:
44: /**
45: * Perform global search.
46: *
47: * @return void
48: */
49: public function filtering();
50:
51: /**
52: * Perform column search.
53: *
54: * @return void
55: */
56: public function columnSearch();
57:
58: /**
59: * Perform pagination.
60: *
61: * @return void
62: */
63: public function paging();
64:
65: /**
66: * Perform sorting of columns.
67: *
68: * @return void
69: */
70: public function ordering();
71:
72: /**
73: * Organizes works.
74: *
75: * @param bool $mDataSupport
76: * @param bool $orderFirst
77: * @return \Illuminate\Http\JsonResponse
78: */
79: public function make($mDataSupport = false, $orderFirst = false);
80: }
81: