| @@ 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 | { |
|