@@ 177-219 (lines=43) @@ | ||
174 | * |
|
175 | * @return $this |
|
176 | */ |
|
177 | public function ajax($url, $idField = 'id', $textField = 'text') |
|
178 | { |
|
179 | $this->script = <<<EOT |
|
180 | ||
181 | $("{$this->getElementClassSelector()}").select2({ |
|
182 | dir: "$this->direction", |
|
183 | language : "$this->local", |
|
184 | ajax: { |
|
185 | url: "$url", |
|
186 | dataType: 'json', |
|
187 | delay: 250, |
|
188 | data: function (params) { |
|
189 | return { |
|
190 | q: params.term, |
|
191 | page: params.page |
|
192 | }; |
|
193 | }, |
|
194 | processResults: function (data, params) { |
|
195 | params.page = params.page || 1; |
|
196 | ||
197 | return { |
|
198 | results: $.map(data.data, function (d) { |
|
199 | d.id = d.$idField; |
|
200 | d.text = d.$textField; |
|
201 | return d; |
|
202 | }), |
|
203 | pagination: { |
|
204 | more: data.next_page_url |
|
205 | } |
|
206 | }; |
|
207 | }, |
|
208 | cache: true |
|
209 | }, |
|
210 | minimumInputLength: 1, |
|
211 | escapeMarkup: function (markup) { |
|
212 | return markup; |
|
213 | } |
|
214 | }); |
|
215 | ||
216 | EOT; |
|
217 | ||
218 | return $this; |
|
219 | } |
|
220 | } |
|
221 |
@@ 61-105 (lines=45) @@ | ||
58 | * |
|
59 | * @return $this |
|
60 | */ |
|
61 | public function ajax($url, $idField = 'id', $textField = 'text') |
|
62 | { |
|
63 | $this->script = <<<EOT |
|
64 | ||
65 | $("{$this->getElementClassSelector()}").select2({ |
|
66 | dir: "$this->direction", |
|
67 | language : "$this->local", |
|
68 | tags: true, |
|
69 | multiple: true, |
|
70 | ajax: { |
|
71 | url: "$url", |
|
72 | dataType: 'json', |
|
73 | delay: 250, |
|
74 | data: function (params) { |
|
75 | return { |
|
76 | q: params.term, |
|
77 | page: params.page |
|
78 | }; |
|
79 | }, |
|
80 | processResults: function (data, params) { |
|
81 | params.page = params.page || 1; |
|
82 | ||
83 | return { |
|
84 | results: $.map(data.data, function (d) { |
|
85 | d.id = d.$idField; |
|
86 | d.text = d.$textField; |
|
87 | return d; |
|
88 | }), |
|
89 | pagination: { |
|
90 | more: data.next_page_url |
|
91 | } |
|
92 | }; |
|
93 | }, |
|
94 | cache: true |
|
95 | }, |
|
96 | minimumInputLength: 1, |
|
97 | escapeMarkup: function (markup) { |
|
98 | return markup; |
|
99 | } |
|
100 | }); |
|
101 | ||
102 | EOT; |
|
103 | ||
104 | return $this; |
|
105 | } |
|
106 | ||
107 | public function render() |
|
108 | { |