30 lines
872 B
JavaScript
30 lines
872 B
JavaScript
/**
|
|
* selectize one select widget. Substitute the actual id of the widget for `{{widget_id}}`,
|
|
* and the current value for {{widget_value}}.
|
|
*/
|
|
$('#{{widget_id}}').selectize({
|
|
valueField: '{{key}}',
|
|
labelField: '{{field}}',
|
|
searchField: '{{field}}',
|
|
hideSelected: false,
|
|
create: false,
|
|
|
|
load: function(query, callback) {
|
|
console.log('Desperately seeking ' + query);
|
|
if (query === null || !query.length) return callback();
|
|
$.ajax({
|
|
url: '/json/auto/search-strings-{{entity}}?{{field}}=' + query,
|
|
type: 'GET',
|
|
dataType: 'jsonp',
|
|
error: function() {
|
|
console.log( 'Query ' + query + ' failed.');
|
|
callback();
|
|
},
|
|
success: function(res) {
|
|
console.log('Received ' + res + ' records for ' + query);
|
|
callback(res);
|
|
}
|
|
});
|
|
}
|
|
})[0].selectize.setValue('{{widget_value}}', true);
|