| @@ 81-125 (lines=45) @@ | ||
| 78 | * |
|
| 79 | * @return $this |
|
| 80 | */ |
|
| 81 | public function ajax($url, $idField = 'id', $textField = 'text') |
|
| 82 | { |
|
| 83 | $this->script = <<<EOT |
|
| 84 | ||
| 85 | $("{$this->getElementClassSelector()}").select2({ |
|
| 86 | dir: "$this->direction", |
|
| 87 | language : "$this->local", |
|
| 88 | tags: true, |
|
| 89 | multiple: true, |
|
| 90 | ajax: { |
|
| 91 | url: "$url", |
|
| 92 | dataType: 'json', |
|
| 93 | delay: 250, |
|
| 94 | data: function (params) { |
|
| 95 | return { |
|
| 96 | q: params.term, |
|
| 97 | page: params.page |
|
| 98 | }; |
|
| 99 | }, |
|
| 100 | processResults: function (data, params) { |
|
| 101 | params.page = params.page || 1; |
|
| 102 | ||
| 103 | return { |
|
| 104 | results: $.map(data.data, function (d) { |
|
| 105 | d.id = d.$idField; |
|
| 106 | d.text = d.$textField; |
|
| 107 | return d; |
|
| 108 | }), |
|
| 109 | pagination: { |
|
| 110 | more: data.next_page_url |
|
| 111 | } |
|
| 112 | }; |
|
| 113 | }, |
|
| 114 | cache: true |
|
| 115 | }, |
|
| 116 | minimumInputLength: 1, |
|
| 117 | escapeMarkup: function (markup) { |
|
| 118 | return markup; |
|
| 119 | } |
|
| 120 | }); |
|
| 121 | ||
| 122 | EOT; |
|
| 123 | ||
| 124 | return $this; |
|
| 125 | } |
|
| 126 | ||
| 127 | /** |
|
| 128 | * {@inheritdoc} |
|
| @@ 185-227 (lines=43) @@ | ||
| 182 | * |
|
| 183 | * @return $this |
|
| 184 | */ |
|
| 185 | public function ajax($url, $idField = 'id', $textField = 'text') |
|
| 186 | { |
|
| 187 | $this->script = <<<EOT |
|
| 188 | ||
| 189 | $("{$this->getElementClassSelector()}").select2({ |
|
| 190 | ajax: { |
|
| 191 | url: "$url", |
|
| 192 | dataType: 'json', |
|
| 193 | delay: 250, |
|
| 194 | data: function (params) { |
|
| 195 | return { |
|
| 196 | q: params.term, |
|
| 197 | page: params.page |
|
| 198 | }; |
|
| 199 | }, |
|
| 200 | processResults: function (data, params) { |
|
| 201 | params.page = params.page || 1; |
|
| 202 | ||
| 203 | return { |
|
| 204 | results: $.map(data.data, function (d) { |
|
| 205 | d.id = d.$idField; |
|
| 206 | d.text = d.$textField; |
|
| 207 | return d; |
|
| 208 | }), |
|
| 209 | pagination: { |
|
| 210 | more: data.next_page_url |
|
| 211 | } |
|
| 212 | }; |
|
| 213 | }, |
|
| 214 | cache: true |
|
| 215 | }, |
|
| 216 | minimumInputLength: 1, |
|
| 217 | escapeMarkup: function (markup) { |
|
| 218 | return markup; |
|
| 219 | }, |
|
| 220 | dir: "$this->direction", |
|
| 221 | language : "$this->local", |
|
| 222 | }); |
|
| 223 | ||
| 224 | EOT; |
|
| 225 | ||
| 226 | return $this; |
|
| 227 | } |
|
| 228 | ||
| 229 | /** |
|
| 230 | * Set config for select2. |
|