Difference between revisions of "MediaWiki:Common.js"

From Hollywood in Pixels Wiki
Jump to navigation Jump to search
 
(23 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
$(function() {
 
$(function() {
 
cDependent();
 
cDependent();
$('#listProjects thead tr')
 
        .clone()
 
        .addClass('filters')
 
        .appendTo('#listProjects thead');
 
 
listProjects();
 
listProjects();
 
});
 
});
  
 
function cDependent(){
 
function cDependent(){
if($('.mw-references-wrap').length === 0){
+
if($('.mw-references-wrap').length > 0){
 
} else {
 
 
$('.cdependent').show();
 
$('.cdependent').show();
 
}
 
}
Line 20: Line 14:
  
 
function listProjects(){
 
function listProjects(){
 
+
if($('#listProjects').length > 0){
   
 
 
 
     var table = $('#listProjects').DataTable({
 
     var table = $('#listProjects').DataTable({
 
     // dom: '<"top"lif>t<"bottom"p><"clear">',
 
     // dom: '<"top"lif>t<"bottom"p><"clear">',
        searchPanes: {
+
    // dom: 'Pfrtip',
        layout: 'columns-2'
+
     dom: 'fQrtip',
    },
 
     dom: 'Pfrtip',
 
 
responsive: true,
 
responsive: true,
 
colReorder: true,
 
colReorder: true,
Line 34: Line 24:
 
     columns: [
 
     columns: [
 
         { "title": "Film" },
 
         { "title": "Film" },
         { "title": "Year" },
+
         { "title": "Released" },
 
         { "title": "Studio" },
 
         { "title": "Studio" },
 
{ "title": "Agency" },
 
{ "title": "Agency" },
{ "title": "Functions, Assets and Awards" },
+
{ "title": "Project" },
{ "title": "Audience" },
+
{ "title": "Type" },
{ "title": "Media Partner" }
+
{ "title": "Asset" },
 +
{ "title": "Awards" },
 
],
 
],
columnDefs: [{
 
searchPanes: {
 
show: true
 
},
 
targets: [0, 1, 2, 3]
 
}],
 
 
         aoColumns: [],
 
         aoColumns: [],
 
         lengthMenu: [
 
         lengthMenu: [
Line 54: Line 39:
 
         orderCellsTop: true,
 
         orderCellsTop: true,
 
         fixedHeader: true,
 
         fixedHeader: true,
 +
        searchBuilder: {
 +
        greyscale: true
 +
    },
 
         initComplete: function () {
 
         initComplete: function () {
            var api = this.api();
+
         }
 
            // For each column
 
            api
 
                .columns()
 
                .eq(0)
 
                .each(function (colIdx) {
 
                    // Set the header cell to contain the input element
 
                    var cell = $('.filters th').eq(
 
                        $(api.column(colIdx).header()).index()
 
                    );
 
                    var title = $(cell).text();
 
                    $(cell).html('<input type="text" placeholder="' + title + '" />');
 
 
                    // On every keypress in this input
 
                    $(
 
                        'input',
 
                        $('.filters th').eq($(api.column(colIdx).header()).index())
 
                    )
 
                        .off('keyup change')
 
                        .on('keyup change', function (e) {
 
                            e.stopPropagation();
 
 
                            // Get the search value
 
                            $(this).attr('title', $(this).val());
 
                            var regexr = '({search})'; //$(this).parents('th').find('select').val();
 
 
                            var cursorPosition = this.selectionStart;
 
                            // Search the column for that value
 
                            api
 
                                .column(colIdx)
 
                                .search(
 
                                    this.value != ''
 
                                        ? regexr.replace('{search}', '(((' + this.value + ')))')
 
                                        : '',
 
                                    this.value != '',
 
                                    this.value == ''
 
                                )
 
                                .draw();
 
 
                            $(this)
 
                                .focus()[0]
 
                                .setSelectionRange(cursorPosition, cursorPosition);
 
                        });
 
                });
 
         },
 
 
     });
 
     });
 +
}
 
}
 
}

Latest revision as of 15:01, September 18, 2021

/* Any JavaScript here will be loaded for all users on every page load. */

        
$(function() {
	cDependent();
	listProjects();
});

function cDependent(){
	if($('.mw-references-wrap').length > 0){
		$('.cdependent').show();
	}
}

function listProjects(){
	if($('#listProjects').length > 0){
    var table = $('#listProjects').DataTable({
    	// dom: '<"top"lif>t<"bottom"p><"clear">',
    	// dom: 'Pfrtip',
    	dom: 'fQrtip',
		responsive: true,
		colReorder: true,
    	order: [[ 0, 'asc' ]],
    	columns: [
        	{ "title": "Film" },
        	{ "title": "Released" },
        	{ "title": "Studio" },
			{ "title": "Agency" },
			{ "title": "Project" },
			{ "title": "Type" },
			{ "title": "Asset" },
			{ "title": "Awards" },
		],
        aoColumns: [],
        lengthMenu: [
                [10, 25, 50, -1], [10, 25, 50, "All"]
        ],
        pageLength: 25,
        orderCellsTop: true,
        fixedHeader: true,
        searchBuilder: {
        	greyscale: true
    	},
        initComplete: function () {
        }
    });
	}
}