Sha256: f4696f4cb9e44ddddf6616883b928607a7809f9377c3467f6ddc46885a3748f2
Contents?: true
Size: 1.84 KB
Versions: 1
Compression:
Stored size: 1.84 KB
Contents
(function () { 'use strict' // --- functions ------------------------------------------------------------ function initSelectizeInputs() { $('[data-selectize-input]').each(function () { var remote = $(this).attr('data-opt-remote') ? $(this).attr('data-opt-remote') : ''; var field_text = $(this).attr('data-opt-text') ? $(this).attr('data-opt-text') : 'name'; var field_value = $(this).attr('data-opt-value') ? $(this).attr('data-opt-value') : 'id'; var opts = { closeAfterSelect: true, create: false, hideSelected: true, labelField: field_text, options: [], plugins: ['remove_button'], searchField: field_text, valueField: field_value }; if (!$(this).data('opts')) { $.each(this.attributes, function (i, attr) { if (attr.name.startsWith('data-opt-')) { var name = attr.name.substr(9); if (name != 'remote' && name != 'text' && name != 'value') opts[name] = (attr.value == 'true') ? true : ((attr.value == 'false') ? false : attr.value); } }); } else { opts = $.extend({}, opts, $(this).data('opts')); } opts['load'] = function (query, callback) { if (!query.length) return callback(); $.ajax({ url: remote + '?q[' + field_text + '_contains]=' + encodeURIComponent(query), type: 'GET', error: function () { callback(); }, success: function (res) { callback(res.slice(0, 10)); } }); }; $(this).selectize(opts); }); } // --- events --------------------------------------------------------------- $(document).ready(initSelectizeInputs); $(document).on('has_many_add:after', initSelectizeInputs); $(document).on('turbolinks:load', initSelectizeInputs); })()
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
activeadmin_selectize-0.3.0 | app/assets/javascripts/activeadmin/selectize_input.js |