Difference between revisions of "MediaWiki: Common.js"

From Teknologisk videncenter
Jump to: navigation, search
m
m (Undo revision 24153 by Heth (talk))
 
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
+
var stylepath = "/skins";
///////////////////////////////////////////////////////////////////////////////////////////////////
+
/* Testing Heth
////// Beginning of the Skoffer One Click Screencasting plugin
+
.slideshow div {
///////////////////////////////////////////////////////////////////////////////////////////////////
+
  _position: absolute;
function skoffer_openpopup(){
 
window.open("{{SERVER}}{{SCRIPTPATH}}/extensions/skoffer/skoffer_insert.php?new", "skoffer_popup", "width=230,height=200,scrollbars=no");
 
 
}
 
}
  
// The below Javascript is based on the mainfile.js file of the "Add Button" extension  (http://www.mediawiki.org/wiki/Extension:Add_Button)
+
.slideshow div div {
 
+
   _position: static;
var skoffer_buttonpara=new Array();
 
skoffer_buttonpara[0]=new Array(function insertTag(){ skoffer_openpopup(); },"/extensions/skoffer/skoffer_button.png","Insert a screencast of your PC screen");
 
function skoffer_addttButton(tagfunction,image,text){
 
var tlbar = document.getElementById("toolbar");
 
  if(!tlbar){
 
      var tlbar = document.getElementById("wpTextbox1___Frame");
 
    if(tlbar){
 
      var tlbar = document.getElementById("wikiPreview");
 
    }
 
}
 
if(!tlbar){}
 
   else{
 
    var button = document.createElement("A");
 
    button.target = "_sup";
 
        button.onclick=tagfunction;
 
    var img = document.createElement("IMG");
 
    img.src =  wgServer+wgScriptPath+image;
 
    img.style.cursor = "pointer";
 
    img.title = text;
 
    button.appendChild(img);
 
    if(is_safari || is_opera){
 
      tlbar.insertBefore(button, tlbar.lastChild);
 
    }else
 
    {
 
      tlbar.appendChild(button);
 
    }
 
 
 
  }
 
}
 
 
 
/////////////////////////////////////////////////////
 
  // onload patch for macIE5 from Simon Willison ::: http://simon.incutio.com/archive/2004/05/26/
 
/////////////////////////////////////////////////////
 
  function addLoadEvent(func) {
 
      var oldonload = window.onload;
 
      if (typeof window.onload != "function") {
 
        window.onload = func;
 
      } else {
 
        window.onload = function() {
 
        oldonload();
 
        func();
 
    }
 
  }
 
 
}
 
}
function skoffer_addButtons(){
+
*/
  for (ii=0;ii<skoffer_buttonpara.length;ii++){
 
    skoffer_addttButton(skoffer_buttonpara[ii][0],skoffer_buttonpara[ii][1],skoffer_buttonpara[ii][2]);
 
    }
 
}
 
 
 
addLoadEvent(skoffer_addButtons);
 
///////////////////////////////////////////////////////////////////////////////////////////////////
 
////// End of the Skoffer One Click Screencasting plugin
 
///////////////////////////////////////////////////////////////////////////////////////////////////
 
 
 
 
 
 
// Added 28/3-2009 HeTh
 
// Added 28/3-2009 HeTh
 
/** Collapsible tables *********************************************************
 
/** Collapsible tables *********************************************************
Line 72: Line 16:
 
  *  Maintainers: [[User:R. Koot]]
 
  *  Maintainers: [[User:R. Koot]]
 
  */
 
  */
+
// install [[Wikipedia:User:Cacycle/wikEd]] in-browser text editor
var autoCollapse = 2;
+
//HeTh select in preferences importScriptURI('//en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js'
var collapseCaption = "hide";
+
//HeTh select in preferences + '&action=raw&ctype=text/javascript');
var expandCaption = "show";
 
 
function collapseTable( tableIndex )
 
{
 
    var Button = document.getElementById( "collapseButton" + tableIndex );
 
    var Table = document.getElementById( "collapsibleTable" + tableIndex );
 
 
    if ( !Table || !Button ) {
 
        return false;
 
    }
 
 
    var Rows = Table.rows;
 
 
    if ( Button.firstChild.data == collapseCaption ) {
 
        for ( var i = 1; i < Rows.length; i++ ) {
 
            Rows[i].style.display = "none";
 
        }
 
        Button.firstChild.data = expandCaption;
 
    } else {
 
        for ( var i = 1; i < Rows.length; i++ ) {
 
            Rows[i].style.display = Rows[0].style.display;
 
        }
 
        Button.firstChild.data = collapseCaption;
 
    }
 
}
 
 
function createCollapseButtons()
 
{
 
    var tableIndex = 0;
 
    var NavigationBoxes = new Object();
 
    var Tables = document.getElementsByTagName( "table" );
 
 
    for ( var i = 0; i < Tables.length; i++ ) {
 
        if ( hasClass( Tables[i], "collapsible" ) ) {
 
 
            /* only add button and increment count if there is a header row to work with */
 
            var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
 
            if (!HeaderRow) continue;
 
            var Header = HeaderRow.getElementsByTagName( "th" )[0];
 
            if (!Header) continue;
 
 
            NavigationBoxes[ tableIndex ] = Tables[i];
 
            Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
 
 
            var Button    = document.createElement( "span" );
 
            var ButtonLink = document.createElement( "a" );
 
            var ButtonText = document.createTextNode( collapseCaption );
 
 
            Button.className = "collapseButton";  //Styles are declared in Common.css
 
   
 
            ButtonLink.style.color = Header.style.color;
 
            ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
 
            ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
 
            ButtonLink.appendChild( ButtonText );
 
 
            Button.appendChild( document.createTextNode( "[" ) );
 
            Button.appendChild( ButtonLink );
 
            Button.appendChild( document.createTextNode( "]" ) );
 
 
            Header.insertBefore( Button, Header.childNodes[0] );
 
            tableIndex++;
 
        }
 
    }
 
 
    for ( var i = 0;  i < tableIndex; i++ ) {
 
        if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
 
            collapseTable( i );
 
        }
 
        else if ( hasClass( NavigationBoxes[i], "innercollapse" ) ) {
 
            var element = NavigationBoxes[i];
 
            while (element = element.parentNode) {
 
                if ( hasClass( element, "outercollapse" ) ) {
 
                    collapseTable ( i );
 
                    break;
 
                }
 
            }
 
        }
 
    }
 
}
 
 
addOnloadHook( createCollapseButtons );
 

Latest revision as of 10:38, 12 December 2012

var stylepath = "/skins";
/* Testing Heth
 .slideshow div {
  _position: absolute;
}

.slideshow div div {
  _position: static;
}
*/
// Added 28/3-2009 HeTh
/** Collapsible tables *********************************************************
 *
 *  Description: Allows tables to be collapsed, showing only the header. See
 *               [[Wikipedia:NavFrame]].
 *  Maintainers: [[User:R. Koot]]
 */
// install [[Wikipedia:User:Cacycle/wikEd]] in-browser text editor
//HeTh select in preferences importScriptURI('//en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js'
//HeTh select in preferences  + '&action=raw&ctype=text/javascript');