/* global redux_change */ (function($){ "use strict"; $.redux = $.redux || {}; $(document).ready(function () { $.redux.select(); }); $.redux.select = function() { $('select.redux-select-item').each(function() { var default_params = { width: 'resolve', triggerChange: true, allowClear: true }; if ( $(this).siblings('.select2_params').size() > 0 ) { var select2_params = $(this).siblings('.select2_params').val(); select2_params = JSON.parse( select2_params ); default_params = $.extend({}, default_params, select2_params); } if ( $(this).hasClass('font-icons') ) { default_params = $.extend({}, {formatResult: addIconToSelect, formatSelection: addIconToSelect, escapeMarkup: function(m) { return m; } }, default_params); } $(this).select2(default_params); if ($(this).hasClass('select2-sortable')) { default_params = {}; default_params.bindOrder = 'sortableStop'; default_params.sortableOptions = { placeholder : 'ui-state-highlight' }; $(this).select2Sortable(default_params); } $(this).on("change", function() { redux_change($($(this))); $(this).select2SortableOrder(); }); }); }; function addIconToSelect(icon) { if ( icon.hasOwnProperty( 'id' ) ) { return "" + "  " + icon.id.toUpperCase() + ""; } } })(jQuery);