Difference between revisions of "User:Philip J. Rayment/Welcome script"

(More debugging)
(Alter addlilink to check for existing element with that ID.)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
//<pre>
 
//<pre>
 
function addlilink(tabs, url, name, id, title, key){
 
function addlilink(tabs, url, name, id, title, key){
−
     var na = document.createElement('a');
+
     var li;
 +
    var na;
 +
    if (id) var li=document.getElementById(id);
 +
    if (li) return li;
 +
 
 +
    na = document.createElement('a');
 
     na.href = url;
 
     na.href = url;
 
     na.appendChild(document.createTextNode(name));
 
     na.appendChild(document.createTextNode(name));
−
     var li = document.createElement('li');
+
     li = document.createElement('li');
 
     if(id) li.id = id;
 
     if(id) li.id = id;
 
     li.appendChild(na);
 
     li.appendChild(na);
Line 38: Line 43:
 
//<pre>
 
//<pre>
 
function AddWelcome() {
 
function AddWelcome() {
−
  alert('Adding welcome');
 
 
   var PageTitle = document.title.slice(0,17);
 
   var PageTitle = document.title.slice(0,17);
−
   if (PageTitle = 'Editing User talk') addTab("javascript:DoWelcome()", "Welcome!", "ca-Welcome", "Add welcome notice", "");
+
   if (PageTitle == 'Editing User talk') addTab("javascript:DoWelcome()", "Welcome", "ca-Welcome", "Add welcome notice", "");
 
}
 
}
 
//</pre>
 
//</pre>
Line 46: Line 50:
 
//<pre>
 
//<pre>
 
// Welcome
 
// Welcome
−
alert('About to add welcome');
 
 
addOnloadHook(AddWelcome);
 
addOnloadHook(AddWelcome);
 
   
 
   
Line 59: Line 62:
 
   txt.value = 'welcome';
 
   txt.value = 'welcome';
 
}
 
}
−
//</pre>
 
−
 
−
// Add an [edit] link to pages
 
−
addOnloadHook(function () {
 
−
// if this is preview page or generated page, stop
 
−
  if(document.getElementById("wikiPreview") || window.location.href.indexOf("/wiki/Special:") != -1) return;
 
−
 
−
  // if this is a revision history, stop
 
−
  if(document.getElementById("histlegend‎") || window.location.href.indexOf("/wiki/Special:") != -1) return;
 
−
 
−
  // if this is a diff page, stop
 
−
  if(document.getElementById("difference‎") || window.location.href.indexOf("/wiki/Special:") != -1) return;
 
−
 
−
  // if this is a watchlist, stop
 
−
  if(document.getElementById("watchdetails") || window.location.href.indexOf("/wiki/Special:") != -1) return;
 
−
 
−
  // if this is the main page, stop
 
−
  if(document.getElementById("mainpage") || window.location.href.indexOf("/wiki/Special:") != -1) return;
 
−
 
−
  // get the page title
 
−
  var pageTitle = document.title.split(" - ")[0].replace(" ", "_");
 
−
 
−
  // create div and set innerHTML to link
 
−
  var divContainer = document.createElement("div");
 
−
  divContainer.innerHTML = '<div class="editsection" style="float:right;margin-left:5px;margin-right:0px;margin-top:47px;">[<a href="/w/index.php?title='+pageTitle+'&action=edit&section=0" title="'+document.title.split(" - ")[0]+'">edit</a>]</div>';
 
−
 
−
  // insert divContainer into the DOM below the h1
 
−
  if(window.location.href.indexOf("&action=edit") == -1)
 
−
    document.getElementById("content").insertBefore(divContainer, document.getElementsByTagName("h1")[0]);
 
−
 
−
  if(window.location.href.indexOf("&action=edit&section=0") != -1)
 
−
    document.getElementById("wpSummary").value = "/* Intro */ ";
 
−
  });
 
 
//</pre>
 
//</pre>

Latest revision as of 10:40, November 14, 2007

//

function addlilink(tabs, url, name, id, title, key){
    var li;
    var na;
    if (id) var li=document.getElementById(id);
    if (li) return li;

    na = document.createElement('a');
    na.href = url;
    na.appendChild(document.createTextNode(name));
    li = document.createElement('li');
    if(id) li.id = id;
    li.appendChild(na);
    tabs.appendChild(li);
    if(id)
    {
        if(key && title)
        {
            ta[id] = [key, title];
        }
        else if(key)
        {
            ta[id] = [key, ''];
        }
        else if(title)
        {
            ta[id] = ['', title];
        }
    }
    // re-render the title and accesskeys from existing code in wikibits.js
    akeytt();
    return li;
}
//

//

function addTab(url, name, id, title, key){
    var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
    return addlilink(tabs, url, name, id, title, key)
};
//

//

function AddWelcome() {
  var PageTitle = document.title.slice(0,17);
  if (PageTitle == 'Editing User talk') addTab("javascript:DoWelcome()", "Welcome", "ca-Welcome", "Add welcome notice", "");
}
//

//

// Welcome
addOnloadHook(AddWelcome);
 
function DoWelcome() {
  var txt = document.editform.wpTextbox1;
  txt.value = txt.value+'{{welcome|sig=~~~~}}';
//  var TxtRange = document.selection.createRange();
//  var sel = TxtRange.text;
//  sel='{{welcome|sig=~~~~}}';
//  TxtRange.text=sel;
  txt = document.editform.wpSummary;
  txt.value = 'welcome';
}
//