/* ------------------------------------------------------------------------------ * * # Table elements * * Demo JS code for table_elements.html page * * ---------------------------------------------------------------------------- */ // Setup module // ------------------------------ var TableElements = function() { // // Setup module components // // Default file input style var _componentMultiselect = function() { if (!$().multiselect) { console.warn('Warning - bootstrap-multiselect.js is not loaded.'); return; } // Initialize $('.form-control-multiselect').multiselect(); }; // Default file input style var _componentSelect2 = function() { if (!$().select2) { console.warn('Warning - select2.min.js is not loaded.'); return; } // Basic select $('.form-control-select2').select2({ minimumResultsForSearch: Infinity }); // // Select2 with icons // // Format icon function iconFormat(icon) { var originalOption = icon.element; if (!icon.id) { return icon.text; } var $icon = "" + icon.text; return $icon; } // Initialize with options $('.form-control-select2-actions').select2({ templateResult: iconFormat, minimumResultsForSearch: Infinity, templateSelection: iconFormat, escapeMarkup: function(m) { return m; } }); }; // Uniform var _componentUniform = function() { if (!$().uniform) { console.warn('Warning - uniform.min.js is not loaded.'); return; } // Styled checkboxes, radios $('.form-input-styled').uniform({ fileButtonClass: 'action btn bg-warning-400' }); }; // Switchery var _componentSwitchery = function() { if (typeof Switchery == 'undefined') { console.warn('Warning - switchery.min.js is not loaded.'); return; } // Initialize var elems = Array.prototype.slice.call(document.querySelectorAll('.form-input-switchery')); elems.forEach(function(html) { var switchery = new Switchery(html); }); // // "Display controls" switch // // Initialize Switchery var controls = document.querySelector('.form-input-switchery-controls'); var controlsInit = new Switchery(controls); // Change select state on toggle controls.onchange = function() { if(controls.checked) { $('#available_controls').prop('disabled', false); } else { $('#available_controls').prop('disabled', true); } }; }; // Bootstrap file upload var _componentFileUpload = function() { if (!$().fileinput) { console.warn('Warning - fileinput.min.js is not loaded.'); return; } // Multiple files uploader $('.bootstrap-uploader').fileinput({ browseLabel: 'Browse', browseIcon: '', uploadIcon: '', removeIcon: '', layoutTemplates: { icon: '' }, initialCaption: 'No file selected' }); }; // Touchspin spinners var _componentTouchspin = function() { if (!$().TouchSpin) { console.warn('Warning - touchspin.min.js is not loaded.'); return; } // Initialize $('.form-control-touchspin').TouchSpin({ min: 0, max: 100, step: 0.1, decimals: 2, prefix: '$' }); }; // // Return objects assigned to module // return { init: function() { _componentMultiselect(); _componentSelect2(); _componentUniform(); _componentSwitchery(); _componentFileUpload(); _componentTouchspin(); } } }(); // Initialize module // ------------------------------ document.addEventListener('DOMContentLoaded', function() { TableElements.init(); });