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