UNPKG

bootstrap-italia

Version:

Bootstrap Italia è un tema Bootstrap 4 per la creazione di applicazioni web nel pieno rispetto delle Linee guida di design per i servizi web della PA

89 lines (77 loc) 2.42 kB
$(function() { let onSelectChange = function() { $('.dropdown-menu li.selected') .find('input[type="checkbox"]') .prop('checked', true) $('.dropdown-menu li:not(.selected)') .find('input[type="checkbox"]') .prop('checked', false) } // Allows to rewrite options dynamically with an object in the form of jQuery.fn.setOptionsToSelect = function(optionsData) { var selectElement = $(this).find('select') // Destroying selectElement $(selectElement) .off('changed.bs.select') .selectpicker('destroy') .empty() // Appending options according to the optionsData object optionsData.forEach(function(x) { $(selectElement).append( $('<option>', { value: x.value, text: x.text, }) ) }) // Refreshing selectElement $(selectElement) .selectpicker('refresh') .on('changed.bs.select', onSelectChange) return this } // Bootstrap-select initialisation $('.bootstrap-select-wrapper select') .selectpicker() .on('changed.bs.select', onSelectChange) // Fixes for W3C and WCAG 2.0 compliance: var $selectWrapper = $('.bootstrap-select-wrapper') // Enter generic and non-visible text for empty options $selectWrapper .find('select option.bs-title-option') .text('Nessuna opzione') $selectWrapper .find('select option[data-content]') .text('Annulla'); // Remove the role="combobox" from the dropdown button $selectWrapper .find('button.dropdown-toggle') .removeAttr('role') // Replace any <div>s elements with <span>s as <div>s are not allowed in a button element $selectWrapper .find('div.filter-option') .replaceWith(function() { return $('<span />') .addClass('filter-option') .append($(this).contents()) }) $selectWrapper .find('div.filter-option-inner') .replaceWith(function() { return $('<span />') .addClass('filter-option-inner') .append($(this).contents()) }) $selectWrapper .find('div.filter-option-inner-inner') .replaceWith(function() { return $('<span />') .addClass('filter-option-inner-inner') .append($(this).contents()) }) // Add title and WAI-ARIA attribute for the input search $selectWrapper .find('.bs-searchbox input') .attr('title', 'Cerca') .attr('aria-expanded', 'false') })