ମିଡ଼ିଆଉଇକି:Edit.js

ଉଇକିଅଭିଧାନ‌ରୁ

ସୂଚନା: ବଦଳଗୁଡ଼ିକ ଦେଖିବା ପାଇଁ ଆପଣଙ୍କୁ ହୁଏତ ନିଜ ବ୍ରାଉଜର କ୍ୟାସ ବାଇପାସ କରିବାକୁ ପଡ଼ିପାରେ ।

  • Firefox / Safari: Reload ଉପରେ କ୍ଲିକ କରିବା ବେଳେ Shift ଧରି କିମ୍ବା Ctrl-F5 ବା Ctrl-R ଦବାନ୍ତୁ (Macରେ ⌘-R)
  • Google Chrome: Ctrl-Shift-R ଦବାନ୍ତୁ (Macରେ ⌘-Shift-R)
  • Internet Explorer / Edge: Refresh ଉପରେ କ୍ଲିକ କଲା ବେଳେ Ctrl ଧରି ବା Ctrl-F5 ଦବାଇ
  • Opera: Ctrl-F5 ଦବାନ୍ତୁ ।
// Javascript included on the edit page. 

/*
==Preload text==
*/

/**
 * 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 );

/*
==[[MediaWiki:Edittools]]==
*/

/*
===applyCharinserts===
*/

/* 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.replace(/[^<>]+(?=<|$)/g, charinsertify);
    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).replace(/^ */, '');
      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);
  }
}

/*
===addCharSubsetMenu===
*/

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

  if(! edittools)
    return;

  var menu = newNode('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.appendChild(
      newNode('option',
        decodeURIComponent(
          (''+pp[i].id).replace(/^edittools-/, '')
                       .replace(/\.([0-9A-F][0-9A-F])/g, '%$1')
                       .replace(/_/g, '%20')
        )
      )
    );

  edittools.insertBefore(menu, edittools.firstChild);

  /* 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 );
}


/*

===chooseCharSubsetMenu===
*/

/* select subsection of special characters */
function chooseCharSubset(s) {
  var l = document.getElementById('editpage-specialchars').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);