Sarna News: Bad 'Mechs - Icestorm

Difference between revisions of "MediaWiki:Common.js/edit.js"

m
m
Line 1: Line 1:
 
/* Any JavaScript here will be loaded for all users on all edit pages. */
 
/* Any JavaScript here will be loaded for all users on all edit pages. */
 
//<source lang="javascript">
 
//<source lang="javascript">
+
 
 +
/******** GLOBAL VARIABLES ********/
 +
/*** Symbol information list ***/
 +
var symbols = new Array();
 +
symbols["text"] = "Insert a symbol";
 +
symbols["sections"] = new Array();
 +
 
 +
symbols["sections"]["nonstandard"] = new Array();
 +
symbols["sections"]["nonstandard"]["title"] = "Symbols";
 +
symbols["sections"]["nonstandard"]["items"] = new Array("–", "—", " ", "¡", "¿", "†", "‡", "§", "Ø", "ø", " ", "·", " ", "←", "→", "↑", "↓", " ", "½", "⅓", "⅔", "¼", "¾", "⅛", "⅜", "⅝", "⅞");
 +
 
 +
symbols["sections"]["vowels"] = new Array();
 +
symbols["sections"]["vowels"]["title"] = "Vowels"
 +
symbols["sections"]["vowels"]["items"] = new Array("Á", "á", "À", "à", "Ã", "ã", " ", "É", "é", "È", "è", "Ẽ", "ẽ", " ", "Í", "í", "Ì", "ì", "Ĩ", "ĩ", " ", "Ó", "ó", "Ò", "ò", "Õ", "õ", " ", "Ú", "ú", "Ù", "ù", "Ũ", "ũ");
 +
 
 +
symbols["sections"]["consonants"] = new Array();
 +
symbols["sections"]["consonants"]["title"] = "Consonants"
 +
symbols["sections"]["consonants"]["items"] = new Array("Ć", "ć", "Ç", "ç", " ", "Ģ", "ģ", " ", "Ķ", "ķ", " ", "Ĺ", "ĺ", "Ļ", "ļ", " ", "Ń", "ń", "Ñ", "ñ", "Ņ", "ņ", " ", "Ŕ", "ŕ", "Ŗ", "ŗ", " ", "Ś", "ś", "Ş", "ş", " ", "Ţ", "ţ", " ", "Ý", "ý", "Ỹ", "ỹ", " ", "Ź", "ź", " ", "ß", "Đ", "đ");
 +
 
 +
/*** Template information list ***/
 +
var templates = new Array();
 +
templates["text"] = "Insert a template";
 +
templates["sections"] = new Array();
 +
 
 +
templates["sections"]["stubs"] = new Array();
 +
templates["sections"]["stubs"]["title"] = "Stubs";
 +
templates["sections"]["stubs"]["items"] = new Array("{{stub}}", "{{sectionstub}}");
 +
 
 +
templates["sections"]["notices"] = new Array();
 +
templates["sections"]["notices"]["title"] = "Notices";
 +
templates["sections"]["notices"]["items"] = new Array("{{Citation needed}}", "{{Update Needed}}", "{{Cleanup}}", "{{Verify}}", "{{NonCanon}}", "{{Moratorium}}");
 +
 
 +
templates["sections"]["misc"] = new Array();
 +
templates["sections"]["misc"]["title"] = "Miscellaneous";
 +
templates["sections"]["misc"]["items"] = new Array("{{disambig}}", "{{quote| }}", "{{yearlist}}", "{{otheruses| | | }}");
 +
 
 +
 
 
/***********************************************************
 
/***********************************************************
 
  *  Extra toolbar options
 
  *  Extra toolbar options
Line 77: Line 113:
 
}
 
}
  
 +
function insertToolbarMenus() {
 +
    var menus = new Array(symbols, templates);
  
var symbols = new Array();
+
    var code = "";
symbols["text"] = "Insert a symbol";
+
    for (var i=0; i < menus.length; i++) {
 
+
        code += insertToolbarMenu(menus[i]);
symbols["nonstandard"] = new Array();
+
    }
symbols["nonstandard"]["vowels"] = new Array();
+
    $("#editform").prepend(code);
symbols["nonstandard"]["vowels"]["title"] = "Vowels: "
+
}
symbols["nonstandard"]["vowels"]["items"] = new Array("Á", "á", "À", "à", "Ã", "ã", "É", "é", "È", "è", "Ẽ", "ẽ", "Í", "í", "Ì", "ì", "Ĩ", "ĩ", "Ó", "ó", "Ò", "ò", "Õ", "õ", "Ú", "ú", "Ù", "ù", "Ũ", "ũ");
 
  
symbols["sections"] = new Array();
 
symbols["sections"]["vowels"] = new Array();
 
symbols["sections"]["vowels"]["title"] = "Vowels: "
 
symbols["sections"]["vowels"]["items"] = new Array("Á", "á", "À", "à", "Ã", "ã", "É", "é", "È", "è", "Ẽ", "ẽ", "Í", "í", "Ì", "ì", "Ĩ", "ĩ", "Ó", "ó", "Ò", "ò", "Õ", "õ", "Ú", "ú", "Ù", "ù", "Ũ", "ũ");
 
  
symbols["sections"]["consonants"] = new Array();
 
symbols["sections"]["consonants"]["title"] = "Consonants: "
 
symbols["sections"]["consonants"]["items"] = new Array("Ć", "ć", "Ç", "ç", "Ģ", "ģ", "Ķ", "ķ", "Ĺ", "ĺ", "Ļ", "ļ", "Ń", "ń", "Ñ", "ñ", "Ņ", "ņ", "Ŕ", "ŕ", "Ŗ", "ŗ", "Ś", "ś", "Ş", "ş", "Ţ", "ţ", "Ý", "ý", "Ỹ", "ỹ", "Ź", "ź", "ß", "Đ", "đ");
 
 
 
var stubs = new Array("{{stub}}", "{{sectionstub}}");
 
var notices = new Array("{{Citation needed}}", "{{Update Needed}}", "{{Cleanup}}", "{{Verify}}", "{{NonCanon}}", "{{Moratorium}}");
 
var misc = new Array("{{disambig}}", "{{quote| }}", "{{yearlist}}", "{{otheruses| | | }}");
 
  
 
/***********************************************************
 
/***********************************************************
  *  insertToolbarMenus()
+
  *  insertToolbarMenu()
 
  *
 
  *
 
  *  Description:  
 
  *  Description:  
 
  ***********************************************************/
 
  ***********************************************************/
function insertToolbarMenus() {
+
function insertToolbarMenu(list) {
     var insert = '<div><strong>' + symbols['text'] + '<br />';
+
     var insert = '<div>';
  
     for (var i in symbols['sections']) {
+
     for (var i in list['sections']) {
         insert += symbols['sections'][i]['title'] + ": ";
+
         insert += "<strong>" + list['sections'][i]['title'] + "</strong>: ";
  
         for (var j=0; j < symbols['sections'][i]['items'].length; j++) {
+
         for (var j=0; j < list['sections'][i]['items'].length; j++) {
             insert += wrapToolbarCharacter(symbols['sections'][i]['items'][j]);
+
             insert += wrapToolbarCharacter(list['sections'][i]['items'][j]);
 
         }
 
         }
         insert += "<hr />";
+
         insert += "<br />";
 
     }
 
     }
  
 
     insert += "</div>";
 
     insert += "</div>";
  
     $("#editform").prepend(insert);
+
     return insert;
 
};
 
};
  
Line 128: Line 153:
 
  ***********************************************************/
 
  ***********************************************************/
 
function wrapToolbarCharacter(char) {
 
function wrapToolbarCharacter(char) {
     return '<a title="Click on the character or tag to insert it into the edit window" href="javascript:insertTags(\'' + char + '\',\'\',\'\'); return false">' + char + '</a> &nbsp;';
+
     return (char == " " || char == "&nbsp;")
 +
      ? ' &nbsp; '
 +
      : '<a title="Click on the character or tag to insert it into the edit window" href="javascript:insertTags(\'' + char + '\',\'\',\'\'); return false">' + char + '</a> &nbsp;';
 
};
 
};
  
 
//</source>
 
//</source>

Revision as of 15:45, 16 July 2009

/* Any JavaScript here will be loaded for all users on all edit pages. */
//<source lang="javascript">

/******** GLOBAL VARIABLES ********/
/*** Symbol information list ***/
var symbols = new Array();
symbols["text"] = "Insert a symbol";
symbols["sections"] = new Array();

symbols["sections"]["nonstandard"] = new Array();
symbols["sections"]["nonstandard"]["title"] = "Symbols";
symbols["sections"]["nonstandard"]["items"] = new Array("–", "—", " ", "¡", "¿", "†", "‡", "§", "Ø", "ø", " ", "·", " ", "←", "→", "↑", "↓", " ", "½", "⅓", "⅔", "¼", "¾", "⅛", "⅜", "⅝", "⅞");

symbols["sections"]["vowels"] = new Array();
symbols["sections"]["vowels"]["title"] = "Vowels"
symbols["sections"]["vowels"]["items"] = new Array("Á", "á", "À", "à", "Ã", "ã", " ", "É", "é", "È", "è", "Ẽ", "ẽ", " ", "Í", "í", "Ì", "ì", "Ĩ", "ĩ", " ", "Ó", "ó", "Ò", "ò", "Õ", "õ", " ", "Ú", "ú", "Ù", "ù", "Ũ", "ũ");

symbols["sections"]["consonants"] = new Array();
symbols["sections"]["consonants"]["title"] = "Consonants"
symbols["sections"]["consonants"]["items"] = new Array("Ć", "ć", "Ç", "ç", " ", "Ģ", "ģ", " ", "Ķ", "ķ", " ", "Ĺ", "ĺ", "Ļ", "ļ", " ", "Ń", "ń", "Ñ", "ñ", "Ņ", "ņ", " ", "Ŕ", "ŕ", "Ŗ", "ŗ", " ", "Ś", "ś", "Ş", "ş", " ", "Ţ", "ţ", " ", "Ý", "ý", "Ỹ", "ỹ", " ", "Ź", "ź", " ", "ß", "Đ", "đ");

/*** Template information list ***/
var templates = new Array();
templates["text"] = "Insert a template";
templates["sections"] = new Array();

templates["sections"]["stubs"] = new Array();
templates["sections"]["stubs"]["title"] = "Stubs";
templates["sections"]["stubs"]["items"] = new Array("{{stub}}", "{{sectionstub}}");

templates["sections"]["notices"] = new Array();
templates["sections"]["notices"]["title"] = "Notices";
templates["sections"]["notices"]["items"] = new Array("{{Citation needed}}", "{{Update Needed}}", "{{Cleanup}}", "{{Verify}}", "{{NonCanon}}", "{{Moratorium}}");

templates["sections"]["misc"] = new Array();
templates["sections"]["misc"]["title"] = "Miscellaneous";
templates["sections"]["misc"]["items"] = new Array("{{disambig}}", "{{quote| }}", "{{yearlist}}", "{{otheruses| | | }}");


/***********************************************************
 *  Extra toolbar options
 *
 *  Description: Adds extra buttons to the editing toolbar.
 ***********************************************************/
if (mwCustomEditButtons) {
    mwCustomEditButtons.push({
        "imageFile": "http://sarna.net/wiki/images/c/c8/Button_redirect.png",
        "speedTip": "Redirect",
        "tagOpen": "#REDIRECT[[",
        "tagClose": "]]",
        "sampleText": "Target page name"
    });
 
    mwCustomEditButtons.push({
        "imageFile": "http://sarna.net/wiki/images/1/13/Button_enter.png",
        "speedTip": "Line break",
        "tagOpen": "<br />",
        "tagClose": "",
        "sampleText": ""
    });
 
    mwCustomEditButtons.push({
        "imageFile": "http://sarna.net/wiki/images/6/6a/Button_sup_letter.png",
        "speedTip": "Superscript",
        "tagOpen": "<sup>",
        "tagClose": "</sup>",
        "sampleText": "Superscript text"
    });
 
    mwCustomEditButtons.push({
        "imageFile": "http://sarna.net/wiki/images/a/aa/Button_sub_letter.png",
        "speedTip": "Subscript",
        "tagOpen": "<sub>",
        "tagClose": "</sub>",
        "sampleText": "Subscript text"
    });
 
    mwCustomEditButtons.push({
        "imageFile": "http://sarna.net/wiki/images/1/17/Button_small_2.png",
        "speedTip": "Small text",
        "tagOpen": "<small>",
        "tagClose": "</small>",
        "sampleText": "Small text"
    });
 
    mwCustomEditButtons.push({
        "imageFile": "http://sarna.net/wiki/images/1/12/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": "http://sarna.net/wiki/images/6/60/Button_insert_table.png",
        "speedTip": "Insert a table",
        "tagOpen": '{| class="wikitable" border="1"\n|',
        "tagClose": "\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"
    });
 
    mwCustomEditButtons.push({
        "imageFile": "http://sarna.net/wiki/images/7/79/Button_reflink.png",
        "speedTip": "Insert a reference",
        "tagOpen": "<ref>",
        "tagClose": "</ref>",
        "sampleText": "Insert footnote text here"
    });

    if (isTesting) {
        addOnloadHook(insertToolbarMenus);
    }
}

function insertToolbarMenus() {
    var menus = new Array(symbols, templates);

    var code = "";
    for (var i=0; i < menus.length; i++) {
        code += insertToolbarMenu(menus[i]);
    }
    $("#editform").prepend(code);
}



/***********************************************************
 *  insertToolbarMenu()
 *
 *  Description: 
 ***********************************************************/
function insertToolbarMenu(list) {
    var insert = '<div>';

    for (var i in list['sections']) {
        insert += "<strong>" + list['sections'][i]['title'] + "</strong>: ";

        for (var j=0; j < list['sections'][i]['items'].length; j++) {
            insert += wrapToolbarCharacter(list['sections'][i]['items'][j]);
        }
        insert += "<br />";
    }

    insert += "</div>";

    return insert;
};

/***********************************************************
 *  wrapToolbarCharacter()
 *
 *  Description: 
 ***********************************************************/
function wrapToolbarCharacter(char) {
    return (char == " " || char == "&nbsp;")
      ? ' &nbsp; '
      : '<a title="Click on the character or tag to insert it into the edit window" href="javascript:insertTags(\'' + char + '\',\'\',\'\'); return false">' + char + '</a> &nbsp;';
};

//</source>