MediaWiki:Common.js: Difference between revisions

From CTLTMS
No edit summary
(Added autofocus back to search when clearing table searches)
 
(22 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
 
function search_table(tableID, value){ 
    mwCustomEditButtons.push({
$('#'+tableID+' tr').each(function(){
        "imageFile": "images/Button_enter.png",
var found = 'false';   
        "speedTip": "Line break",
if (!$(this).hasClass('non-searchable')) {
        "tagOpen": "<br />",
$(this).each(function(){  
        "tagClose": "",
if ($(this).find('td.non-searchable').length > 0) {
        "sampleText": ""
  found = 'true'; 
    });
} else if (!$(this).find('th').length > 0) {
   
  if($(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0) 
    mwCustomEditButtons.push({
  { 
        "imageFile": "images/Button_upper_letter.png",
  found = 'true'
        "speedTip": "Superscript",
  }
        "tagOpen": "<sup>",
} else {
        "tagClose": "</sup>",
// Always keep the header row
        "sampleText": "Superscript text"
found = 'true';
    });
}
   
});
    mwCustomEditButtons.push({
if(found == 'true'
        "imageFile": "images/Button_small.png",
        "speedTip": "Small",
  $(this).show()
        "tagOpen": "<small>",
        "tagClose": "</small>",
else 
        "sampleText": "Small Text"
    });
  $(this).hide()
 
}
    mwCustomEditButtons.push({
}
        "imageFile": "images/Button_gallery.png",
});
        "speedTip": "Insert a picture gallery",
        "tagOpen": "\n<gallery widths=600px heights=350px perrow=1>\n",
$(document).ready(function(){
        "tagClose": "\n</gallery>",
// Alternative method - makes all tables with 10 or more rows (including header) searchable automatically
        "sampleText": "Image:Example.png|''Caption1''\nImage:Example.png|''Caption2''"
// $("table > tbody > tr:nth-child(10)").closest("table").each(function(index, element) {
    });
$("table.apt-searchable").each(function(index, element) {
 
var tableID = this.id;
    var today = new Date();
if (tableID == '') {
    var monthNames = ["January", "February", "March", "April", "May", "June",
tableID = "aptSearchableTable_" + (index + 1);
      "July", "August", "September", "October", "November", "December"
$(this).attr("id", tableID);
    ];
}
    var stndrdth = ["th","st","nd","rd","th","th","th","th","th","th"];
$('<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+'\',\'\');$(\'#'+tableID+'_'+index+'\').focus();" title="Clear Entry" class="apt-search-clear">').insertBefore($(this));
    var dayth = today.getDate() % 10;
});
    mwCustomEditButtons.push({
});
        "imageFile": "images/Button_CoverPage.png",
        "speedTip": "Insert an Document Title Page",
        "tagOpen": "{{Doc_Title\n|Client=ClientName\n|System=''CALIDUS'' System\n|Title=Doc Title\n|Reference=Document type and Supimix reference\n|Version=0.1\n|Date="+today.getDate()+stndrdth[dayth]+" "+monthNames[today.getMonth()]+" "+today.getFullYear()+"\n|Year="+today.getFullYear()+"\n}}\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_insert_table.png",
        "speedTip": "Insert a table",
        "tagOpen": '{| border="1"\n|- bgcolor="silver"\n',
        "tagClose": "\n|}\n",
        "sampleText": "! header1 !! header2 !! header3\n|-\n| cell1 || cell2 || cell3"
    });
 
    mwCustomEditButtons.push({
        "imageFile": "images/Button_comment.png",
        "speedTip": "Insert a comment",
        "tagOpen": '{{comment|text=',
        "tagClose": "\n|sign=[[User:"+wgUserName+"]]|date="+today.getDate()+"/"+(today.getMonth()+1)+"/"+today.getFullYear()+" "+today.getHours()+":"+today.getMinutes()+":"+today.getSeconds()+"}}\n",
        "sampleText": "Your Comment Here"
    });
 
{| border="1"
|- bgcolor="silver"
! header 1 !! header 2 !! header 3
|-
| row 1, cell 1 || row 1, cell 2 || row 1, cell 3
|}

Latest revision as of 09:55, 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+'\',\'\');$(\'#'+tableID+'_'+index+'\').focus();" title="Clear Entry" class="apt-search-clear">').insertBefore($(this));
	});
});