მედიავიკი:Edit.js

ვიქსიკონი გვერდიდან

შენიშვნა: გამოქვეყნების შემდეგ შესაძლოა დაგჭირდეთ ბრაუზერის ქეშის გაწმენდა ცვლილებების სანახავად.

  • Firefox / Safari: დააჭირეთ Shift და Reload, ან დააჭირეთ Ctrl-F5, ან Ctrl-R (⌘-R Mac-ზე);
  • Google Chrome: დააჭირეთ Ctrl-Shift-R (⌘-Shift-R Mac-ზე);
  • IE / Edge: დააჭირეთ Ctrl და Refresh, ან დააჭირეთ Ctrl-F5;
  • Opera გაწმინდეთ კეში Tools→Preferences-დან.
//<pre> Javascript included on the edit page. 

/*</pre>
==Preload text==
<pre>*/

/**
 * A function from [[en:User:Visviva/pretext.js]] to allow arbitrary
 * text to be inserted into the edit box through the URL.
 *
 * Visit a url of the form ?action=edit&preloadtext=<something>&preloadsummary=
 */
function preloadText () {
    if (window.preloadedText)
        return;
    else
        window.preloadedText = true;

    var pretext="";
    var presummary=""
    var preminor=null;

    if (! (window.location.search && window.location.search.split("?")[1]))
        return; 
    try {
        parts=window.location.search.split("?")[1].split("&")
    } catch (e) {
        return; //not an edit page
    }
 
    for (var k = 0; k < parts.length; ++k) {
        pair=parts[k].split("=")
        if (pair[0]=="preloadtext") {
            pretext=decodeURIComponent(pair[1].replace(/\+/gi," "));
        } else if (pair[0]=="preloadsummary") {
            presummary=decodeURIComponent(pair[1].replace(/\+/gi," "));
        } else if (pair[0]=="preloadminor") {
            preminor=pair[1].match(/(1|yes|true)/);
        }
    }
    if (pretext != ""){
        if (document.editform.wpTextbox1.value != ""){
            pretext+="\n\n"
        }
        pretext=pretext+document.editform.wpTextbox1.value
        document.editform.wpTextbox1.value=pretext
    }
 
    if (presummary != "" && document.editform.wpSummary.value == "") {
        document.editform.wpSummary.value += presummary;
    }

    if (preminor != null && document.editform.wpMinoredit) {
        document.editform.wpMinoredit.checked = preminor;
    }
}
$( preloadText );
/*</pre>
==[[MediaWiki:Edittools]]==
<pre>*/

/*</pre>
===applyCharinserts===
<pre>*/

/* handle <span class="charinsert"> like <charinsert> */
function applyCharinserts()
{
  function patchUpInsertTagsArg(arg)
  {
    return(
      arg.replace(/\x22/g,'&quot;').replace(/\x27/g,"\\'").replace(/\x26nbsp;/g,' '));
  }
 
  function charinsertify(s)
  {
    if(s.indexOf('<') > -1)
      return s;
    s = s.replace(/\xA0/g, '\x26nbsp;');
    var strings = s.split(/\s/);
    for(var i = 0; i < strings.length; ++i)
    {
      if(strings[i] == '')
        continue;
      var left, right, index;
      index = strings[i].indexOf('+');
      if(index == -1)
        index = strings[i].length;
      left = strings[i].substring(0, index);
      right = strings[i].substring(index + 1);
      strings[i] = left + right;
      left = patchUpInsertTagsArg(left);
      right = patchUpInsertTagsArg(right);
      strings[i] = "<a onclick=\"insertTags('" + left + "','" + right +
                   "','');return false\" href='#'>" + strings[i] + '</a>';
    }
    return strings.join(' ');
  }
 
  var edittools = document.getElementById('editpage-specialchars');
  if(! edittools)
    return;
  var spans = edittools.getElementsByTagName('span');
  if(! spans)
    return;
  for(var i = 0; i < spans.length; ++i)
  {
    if((' ' + spans[i].className + ' ').indexOf(' charinsert ') == -1)
      continue;
    spans[i].className = spans[i].className.replace(/\bcharinsert\b/, '');
    spans[i].innerHTML = charinsertify(spans[i].innerHTML);
  }
}

/*</pre>
===addCharSubsetMenu===
<pre>*/

/* add menu for selecting subsets of secial characters */
function addCharSubsetMenu() {
  var edittools = document.getElementById('editpage-specialchars');

  if(! edittools)
    return;

  var menu = "<select id='charSubsetControl' style='display:inline' onChange='chooseCharSubset(selectedIndex)'>";

  var pp = edittools.getElementsByTagName('p');
  if(!pp)
    return;
  for(var i = 0; i < pp.length; ++i)
    menu +=
      '<option>' +
      decodeURIComponent
      (
        (''+pp[i].id).replace(/^edittools-/, '')
                     .replace(/\.([0-9A-F][0-9A-F])/g, '%$1')
                     .replace(/_/g, '%20')
      ) +
      '</option>';

  menu += "</select>";
  edittools.innerHTML = menu + edittools.innerHTML;

  /* default subset from cookie */
  var s = parseInt( $.cookie('edittoolscharsubset') );
  if ( isNaN(s) ) s = 0;

  /* update dropdown control to value of cookie */
  document.getElementById('charSubsetControl').selectedIndex = s; 

  /* display the subset indicated by the cookie */
  chooseCharSubset( s );
}


/*</pre>
===chooseCharSubsetMenu===
<pre>*/

/* select subsection of special characters */
function chooseCharSubset(s) {
  var edittools = document.getElementById('editpage-specialchars');
  if(! edittools)
    return;
  var l = edittools.getElementsByTagName('p');
  for (var i = 0; i < l.length ; i++) {
    l[i].style.display = i == s ? 'inline' : 'none';
    l[i].style.visibility = i == s ? 'visible' : 'hidden';
  }
  $.cookie('edittoolscharsubset', s);
}

function customizeWiktionary() {
  if(!window.doNotUseDefaultEditTools) { // User:Conrad.Irwin/edittools.js
    addCharSubsetMenu();
  }
    applyCharinserts();
}
 
$(customizeWiktionary);

/*
</pre>
*/