Difference between revisions of "MediaWiki:Common.js"

From Hollywood in Pixels Wiki
Jump to navigation Jump to search
Line 15: Line 15:
  
 
function listProjects(){
 
function listProjects(){
checknode = $('table#listProjects');
+
/** checknode = $('table#listProjects');
  
 
     $(checknode).DataTable({
 
     $(checknode).DataTable({
Line 38: Line 38:
  
 
         }
 
         }
 +
    });
 +
**/
 +
    $('#listProjects thead tr')
 +
        .clone(true)
 +
        .addClass('filters')
 +
        .appendTo('#listProjects thead');
 +
 +
    var table = $('#listProjects').DataTable({
 +
    dom: '<"top"lif>t<"bottom"p><"clear">',
 +
responsive: true,
 +
    order: [[ 0, 'asc' ]],
 +
    columns: [
 +
        { "title": "1" },
 +
        { "title": "2" },
 +
        { "title": "3" },
 +
{ "title": "4" },
 +
{ "title": "5" },
 +
{ "title": "6" },
 +
{ "title": "7" }
 +
],
 +
        aoColumns: [],
 +
        lengthMenu: [
 +
                [10, 25, 50, -1], [10, 25, 50, "All"]
 +
        ],
 +
        pageLength: 25,
 +
        orderCellsTop: true,
 +
        fixedHeader: true,
 +
        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);
 +
                        });
 +
                });
 +
        },
 
     });
 
     });
 
}
 
}

Revision as of 19:30, September 13, 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){
		
	} else {
		$('.cdependent').show();
	}
}

function listProjects(){
/**	checknode = $('table#listProjects');

    $(checknode).DataTable({
        dom: '<"top"lif>t<"bottom"p><"clear">',
		responsive: true,
    	order: [[ 0, 'asc' ]],
    	columns: [
        	{ "title": "1" },
        	{ "title": "2" },
        	{ "title": "3" },
			{ "title": "4" },
			{ "title": "5" },
			{ "title": "6" },
			{ "title": "7" }
		],
        aoColumns: [],
        lengthMenu: [
                [10, 25, 50, -1], [10, 25, 50, "All"]
        ],
        pageLength: 25,
        fnInitComplete: function() {

        }
    });
**/
    $('#listProjects thead tr')
        .clone(true)
        .addClass('filters')
        .appendTo('#listProjects thead');
 
    var table = $('#listProjects').DataTable({
    	dom: '<"top"lif>t<"bottom"p><"clear">',
		responsive: true,
    	order: [[ 0, 'asc' ]],
    	columns: [
        	{ "title": "1" },
        	{ "title": "2" },
        	{ "title": "3" },
			{ "title": "4" },
			{ "title": "5" },
			{ "title": "6" },
			{ "title": "7" }
		],
        aoColumns: [],
        lengthMenu: [
                [10, 25, 50, -1], [10, 25, 50, "All"]
        ],
        pageLength: 25,
        orderCellsTop: true,
        fixedHeader: true,
        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);
                        });
                });
        },
    });
}