MediaWiki:Common.js: Difference between revisions

From EPOD
No edit summary
(Added autofocus back to search when clearing table searches)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */


/*
// Javascript/jQuery code for searching tables
    mwCustomEditButtons.push({
function search_table(tableID, value){  
        "imageFile": "http://upload.wikimedia.org/wikipedia/en/c/c9/Button_strike.png",
$('#'+tableID+' tr').each(function(){
        "speedTip": "Strike",
var found = 'false';   
        "tagOpen": "<s>",
if (!$(this).hasClass('non-searchable')) {
        "tagClose": "</s>",
$(this).each(function(){  
        "sampleText": "Strike-through text"
if ($(this).find('td.non-searchable').length > 0) {
    });
  found = 'true'; 
*/
} else if (!$(this).find('th').length > 0) {
   
  if($(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0)   
    mwCustomEditButtons.push({
  {
        "imageFile": "images/Button_enter.png",
  found = 'true'; 
        "speedTip": "Line break",
  }
        "tagOpen": "<br />",
} else {
        "tagClose": "",
// Always keep the header row
        "sampleText": ""
found = 'true';
    });
}
   
});
    mwCustomEditButtons.push({
if(found == 'true') 
        "imageFile": "images/Button_upper_letter.png",
        "speedTip": "Superscript",
  $(this).show(); 
        "tagOpen": "<sup>",
        "tagClose": "</sup>",
else 
        "sampleText": "Superscript text"
{
    });
  $(this).hide()
   
}
/*
}
    mwCustomEditButtons.push({
});
        "imageFile": "images/Button_lower_letter.png",
        "speedTip": "Subscript",
$(document).ready(function(){
        "tagOpen": "<sub>",
// Alternative method - makes all tables with 10 or more rows (including header) searchable automatically
        "tagClose": "</sub>",
// $("table > tbody > tr:nth-child(10)").closest("table").each(function(index, element) {
        "sampleText": "Subscript text"
$("table.apt-searchable").each(function(index, element) {
    });
var tableID = this.id;
*/
if (tableID == '') {
 
tableID = "aptSearchableTable_" + (index + 1);
    mwCustomEditButtons.push({
$(this).attr("id", tableID);
        "imageFile": "images/Button_small.png",
}
        "speedTip": "Small",
$('<input type="text" id="'+tableID+'_'+index+'" onkeyup="search_table(\''+tableID+'\',$(this).val())" placeholder="Search the table..."><input type="button" onclick="$(\'#'+tableID+'_'+index+'\').val(\'\');search_table(\''+tableID+'\',\'\');search_table(\''+tableID+'\',\'\');$(\'#'+tableID+'_'+index+'\').focus();" title="Clear Entry" class="apt-search-clear">').insertBefore($(this));
        "tagOpen": "<small>",
});
        "tagClose": "</small>",
});
        "sampleText": "Small Text"
    });
 
/*
    mwCustomEditButtons.push({
        "imageFile": "http://upload.wikimedia.org/wikipedia/en/3/34/Button_hide_comment.png",
        "speedTip": "Insert hidden Comment",
        "tagOpen": "<!-- ",
        "tagClose": " -->",
        "sampleText": "Comment"
    });
*/
   
    mwCustomEditButtons.push({
        "imageFile": "images/Button_gallery.png",
        "speedTip": "Insert a picture gallery",
        "tagOpen": "\n<gallery>\n",
        "tagClose": "\n</gallery>",
        "sampleText": "Image:Example.jpg|Caption1\nImage:Example.jpg|Caption2"
    });
    mwCustomEditButtons.push({
        "imageFile": "images/Button_CoverPage.png",
        "speedTip": "Insert an Document Title Page",
        "tagOpen": "{{Doc_Title\n|System=''Calidus'' System\n|Title=Doc Title\n|Reference=Document type and Supimix reference\n|Version=0.1\n|Date=9th May 2011\n}}\n",
        "tagClose": "",
        "sampleText": ""
    });
 
    mwCustomEditButtons.push({
        "imageFile": "images/Button_blockquote.png",
        "speedTip": "Insert an Estimate template",
        "tagOpen": "{{EstimateCostDetails\n|REQ=Requirements Days\n|EST=Estimation Days\n|FS=Functional Specification Days\n|TS=Technical Specification Days\n|DEV=Development Days\n|ST=Testing and Release Days\n|IMP=Implementation Days\n|Client=Client for charges|Year=Year for charges}}\n",
        "tagClose": "",
        "sampleText": ""
    });
 
    mwCustomEditButtons.push({
        "imageFile": "images/Button_LastPage.png",
        "speedTip": "Insert an Document Final Page",
        "tagOpen": "{{Doc_Appendix|\nAppendix=The Appendix Section. Defaults to A\n|Glossary=WCS|WMS|CTMS. Omit if no glossary is to be included.\n|Ref1=First reference document title. There can be up to 5 (Ref2, Ref3, etc). Omit those you do not want to use.\n|RefV1=First reference document version\n|RefDate1=First reference document date\n|Rev1=Authorising Name. Up to 3 may be specified (Rev2, Rev3)\n|Rev1Title=Job Title\n",
        "tagClose": "\n}}\n",
        "sampleText": "<!-- The following may also be added -->\n|Estimate=Enter Y if an estimate section is to be included. Use the following fields for the values. If the values are omitted, they default to Zero. Also include Client and Year for the correct rates.\n|REQ=Requirements Time\n|EST=Estimate Time\n|FS=Functional Specification Time\n|TS=Technical Specification Time\n|DEV=Development Time\n|ST=Testing Time\n|IMP=Implementation Time\n|Client=Client for estimate rates\n|Year=Year for estimate rates"
    });
 
    mwCustomEditButtons.push({
        "imageFile": "images/Button_test_header.png",
        "speedTip": "Insert a test plan template",
        "tagOpen": "{{TestPlan_Header\n|Title=Title of test plan\n|Log=Supimix log reference\n|Description=description of what is to be achieved\n|MenuAccess=Where on the menus the item can be found\n|Prerequisites=The prerequisites of the test\n|Objective=The details of what each group of tests is to achieve\n}}\n{{ #vardefine: Cycle | 0 }}{{ #vardefine: SubCycle | 0 }}\n{{TestPlan_CycleHeader\n|Cycle={{ #vardefineecho: Cycle | {{ #expr: {{ #var: Cycle }} + 1 }} }}{{ #vardefine: SubCycle | {{ #var: Cycle }} }}\n|Title=Area being tested in this cycle\n|Notes=Any notes or prerequisites for the tests following.\n}}\n",
        "tagClose": "\n{{TestPlan_CycleFooter}}\n",
        "sampleText": "<!--INSERT TESTS HERE -->"
    });
 
    mwCustomEditButtons.push({
        "imageFile": "images/Button_test_header.png",
        "speedTip": "Insert a test plan cycle",
        "tagOpen": "{{TestPlan_CycleHeader\n|Cycle={{ #vardefineecho: Cycle | {{ #expr: {{ #var: Cycle }} + 1 }} }}{{ #vardefine: SubCycle | {{ #var: Cycle }} }}\n|Title=Area being tested in this cycle\n|Notes=Any notes or prerequisites for the tests following.\n}}\n",
        "tagClose": "\n{{TestPlan_CycleFooter}}\n",
        "sampleText": "<!--INSERT TESTS HERE -->"
    });
 
    mwCustomEditButtons.push({
        "imageFile": "images/Button_test_add.png",
        "speedTip": "Insert a new test",
        "tagOpen": "{{TestPlan_Test\n|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.1 }} }}\n|Action=The actions to follow\n|Result=The expected result\n}}\n",
        "tagClose": "",
        "sampleText": ""
    });
 
    mwCustomEditButtons.push({
        "imageFile": "images/Button_insert_table.png",
        "speedTip": "Insert a table",
        "tagOpen": '{| class="wikitable"\n|',
        "tagClose": "\n|}\n",
        "sampleText": "-\n! header 1\n! header 2\n! header 3\n|-\n| row 1, cell 1\n| row 1, cell 2\n| row 1, cell 3\n|-\n| row 2, cell 1\n| row 2, cell 2\n| row 2, cell 3"
    });
 
    var today = new Date();
    mwCustomEditButtons.push({
        "imageFile": "images/Button_comment.png",
        "speedTip": "Insert a comment",
        "tagOpen": '{{comment|text=',
        "tagClose": "\n|sign=[[User:"+wgUserName+"]]|date="+today.getDay()+"/"+today.getMonth()+"/"+today.getFullYear()+" "+today.getHours()+":"+today.getMinutes()+":"+today.getSeconds()+"}}\n",
        "sampleText": "Your Comment Here"
    });

Latest revision as of 10:04, 28 August 2024

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

// Javascript/jQuery code for searching tables
function search_table(tableID, value){  
	$('#'+tableID+' tr').each(function(){  
		 var found = 'false';  
		 if (!$(this).hasClass('non-searchable')) {
			 $(this).each(function(){  
				if ($(this).find('td.non-searchable').length > 0) {
					   found = 'true';  
				} else if (!$(this).find('th').length > 0) {
				  if($(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0)  
				  {  
					   found = 'true';  
				  }
				} else {
					// Always keep the header row
					found = 'true';
				}
			 });  
			 if(found == 'true')  
			 {  
				  $(this).show();  
			 }  
			 else  
			 {  
				  $(this).hide();  
			 }  
		 }
	});  
}  
$(document).ready(function(){
// Alternative method - makes all tables with 10 or more rows (including header) searchable automatically
//	$("table > tbody > tr:nth-child(10)").closest("table").each(function(index, element) {
	$("table.apt-searchable").each(function(index, element) {
		var tableID = this.id;
		if (tableID == '') {
			tableID = "aptSearchableTable_" + (index + 1);
			$(this).attr("id", tableID);
		}
		$('<input type="text" id="'+tableID+'_'+index+'" onkeyup="search_table(\''+tableID+'\',$(this).val())" placeholder="Search the table..."><input type="button" onclick="$(\'#'+tableID+'_'+index+'\').val(\'\');search_table(\''+tableID+'\',\'\');search_table(\''+tableID+'\',\'\');$(\'#'+tableID+'_'+index+'\').focus();" title="Clear Entry" class="apt-search-clear">').insertBefore($(this));
	});
});