/* ------------------------------------------------------------------------------ * * # Media library * * Demo JS code for gallery_library.html page * * ---------------------------------------------------------------------------- */ // Setup module // ------------------------------ var MediaLibrary = function() { // // Setup module components // // Datatable var _componentDatatable = function() { if (!$().DataTable) { console.warn('Warning - datatables.min.js is not loaded.'); return; } // Initialize table var media_library = $('.media-library').DataTable({ autoWidth: false, columnDefs: [ { orderable: false, width: 20, targets: 0 }, { orderable: false, width: 100, targets: 1 }, { orderable: false, width: 90, targets: 6 } ], order: [[ 2, 'asc' ]], lengthMenu: [ 25, 50, 75, 100 ], displayLength: 25, dom: '<"datatable-header"fl><"datatable-scroll"t><"datatable-footer"ip>', language: { search: 'Filter: _INPUT_', searchPlaceholder: 'Type to filter...', lengthMenu: 'Show: _MENU_', paginate: { 'first': 'First', 'last': 'Last', 'next': $('html').attr('dir') == 'rtl' ? '←' : '→', 'previous': $('html').attr('dir') == 'rtl' ? '→' : '←' } } }); // Toggle success class $('.media-library tbody td input[type=checkbox]').on('change', function () { if ($(this).is(':checked')) { $(this).parents('tr').addClass('table-success'); $.uniform.update(); } else { $(this).parents('tr').removeClass('table-success'); $.uniform.update(); } }); }; // Lightbox var _componentFancybox = function() { if (!$().fancybox) { console.warn('Warning - fancybox.min.js is not loaded.'); return; } // Image lightbox $('[data-popup="lightbox"]').fancybox({ padding: 3 }); }; // Uniform var _componentUniform = function() { if (!$().uniform) { console.warn('Warning - uniform.min.js is not loaded.'); return; } // Initialize $('.form-input-styled').uniform(); }; // Select2 var _componentSelect2 = function() { if (!$().select2) { console.warn('Warning - select2.min.js is not loaded.'); return; } // Initialize $('.dataTables_length select').select2({ minimumResultsForSearch: Infinity, dropdownAutoWidth: true, width: 'auto' }); }; // // Return objects assigned to module // return { init: function() { _componentDatatable(); _componentFancybox(); _componentUniform(); _componentSelect2(); } } }(); // Initialize module // ------------------------------ document.addEventListener('DOMContentLoaded', function() { MediaLibrary.init(); });