ಮೀಡಿಯವಿಕಿ:Common.js: ಪರಿಷ್ಕರಣೆಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸ

ವಿಕಿಪೀಡಿಯದಿಂದ, ಇದು ಮುಕ್ತ ಹಾಗೂ ಸ್ವತಂತ್ರ ವಿಶ್ವಕೋಶ
Content deleted Content added
Undo revision 181270 by HPNadig (talk); removed kn transliteration code; restoring all others
hlist update
೨೭೩ ನೇ ಸಾಲು: ೨೭೩ ನೇ ಸಾಲು:


addOnloadHook( createNavigationBarToggleButton );
addOnloadHook( createNavigationBarToggleButton );

/* Helper script for .hlist class in common.css
* Maintainer: [[User:Edokter]]
*/
if ( $.client.profile().name == 'msie' ) {
/* Add pseudo-selector class to last child list items in IE 8 */
if ( $.client.profile().versionBase == '8' ) {
$( '.hlist' ).find( 'dd:last-child, dt:last-child, li:last-child' )
.addClass( 'hlist-last-child' );
}
/* Generate interpuncts and parens for IE < 8 */
if ( $.client.profile().versionBase < '8' ) {
$( '.hlist' ).find( 'dt + dd, dt + dt' ).prev()
.append( '<b>:</b> ' );
$( '.hlist' ).find( 'dd + dd, dd + dt, li + li' ).prev()
.append( '<b>·</b> ' );
$( '.hlist' ).find( 'dl dl, ol ol, ul ul' )
.prepend( '( ' ).append( ') ' );
}
}

೧೩:೪೨, ೩೧ ಮಾರ್ಚ್ ೨೦೧೨ ನಂತೆ ಪರಿಷ್ಕರಣೆ

/* Any JavaScript here will be loaded for all users on every page load. */
/* tooltips and access keys */
ta = new Object();
ta['pt-userpage'] = new Array('.','ನನ್ನ ಸದಸ್ಯ ಪುಟ'); 
ta['pt-anonuserpage'] = new Array('.','ನಿಮ್ಮ ಐಪಿಯ ಸದಸ್ಯ ಪುಟ'); 
ta['pt-mytalk'] = new Array('n','ನನ್ನ ಚರ್ಚೆ ಪುಟ'); 
ta['pt-anontalk'] = new Array('n','ಈ ಐಪಿ ವಿಳಾಸದ ಸಂಪಾದನೆಗಳ ಬಗೆಗಿನ ಚರ್ಚೆ ಪುಟ'); 
ta['pt-preferences'] = new Array('','ಇಛ್ಚೆಗಳು'); 
ta['pt-watchlist'] = new Array('l','ನೀವು ಬದಲಾವಣೆಗಳನ್ನು ವೀಕ್ಷಿಸುತ್ತಿರುವ ಪುಟಗಳ ಪಟ್ಟಿ'); 
ta['pt-mycontris'] = new Array('y','ನನ್ನ ಕಾಣಿಕೆಗಳ ಪಟ್ಟಿ'); 
ta['pt-login'] = new Array('o','ನೀವು ಲಾಗಿನ್ ಆಗಿ ಸಂಪಾದನೆ ಮಾಡುವುದನ್ನು ಪ್ರೋತ್ಸಾಹಿಸುತ್ತೇವೆ. ಆದರೆ ಲಾಗಿನ್ ಆಗಲೇ ಬೇಕು ಎಂಬುದಿಲ್ಲ.'); 
ta['pt-anonlogin'] = new Array('o','ನೀವು ಲಾಗಿನ್ ಆಗಿ ಸಂಪಾದನೆ ಮಾಡುವುದನ್ನು ಪ್ರೋತ್ಸಾಹಿಸುತ್ತೇವೆ. ಆದರೆ ಲಾಗಿನ್ ಆಗಲೇ ಬೇಕು ಎಂಬುದಿಲ್ಲ.'); 
ta['pt-logout'] = new Array('o','ಲಾಗ್ ಔಟ್'); 
ta['ca-talk'] = new Array('t','ಲೇಖನದ ಬಗ್ಗೆ ಚರ್ಚೆ'); 
ta['ca-edit'] = new Array('e','ನೀವು ಈ ಪುಟವನ್ನು ಬದಲಾಯಿಸಬಹುದು. ಆದರೆ ಉಳಿಸುವ ಮುನ್ನ ಮುನ್ನೋಟ ನೋಡುವುದು ಮರೆಯದಿರಿ'); 
ta['ca-addsection'] = new Array('+','ಈ ಚರ್ಚೆಗೆ ನಿಮ್ಮ ಅಭಿಪ್ರಾಯವನ್ನು, ನಿಮ್ಮ ಮಾತುಗಳನ್ನು ಲಗತ್ತಿಸಿ'); 
ta['ca-viewsource'] = new Array('e','ಈ ಪುಟ ಸಂರಕ್ಷಿಸಲಾಗಿದೆ. ನೀವು ಇದರ ಆಕರವನ್ನು ನೋಡಬಹುದು'); 
ta['ca-history'] = new Array('h','ಈ ಪುಟದ ಹಳೆಯ ಆವೃತ್ತಿಗಳು'); 
ta['ca-protect'] = new Array('=','ಈ ಪುಟವನ್ನು ಸಂರಕ್ಷಿಸಿ'); 
ta['ca-delete'] = new Array('d','ಈ ಪುಟವನ್ನು ಅಳಿಸಿ'); 
ta['ca-undelete'] = new Array('d','ಅಳಿಸುವ ಮುನ್ನ ಮಾಡಿದ ಬದಲಾವಣೆಗಳನ್ನು ಮರುಸ್ಥಾಪಿಸಿ'); 
ta['ca-move'] = new Array('m','ಈ ಪುಟವನ್ನು ಸ್ಥಳಾಂತರಿಸಿ'); 
ta['ca-nomove'] = new Array('','ಈ ಪುಟವನ್ನು ಸ್ಥಳಾಂತರಿಸಲು ನಿಮಗೆ ಅನುಮತಿ ನೀಡಿಲ್ಲ'); 
ta['ca-watch'] = new Array('w','ನಿಮ್ಮ ವೀಕ್ಷಣಾ ಪಟ್ಟಿಗೆ ಈ ಪುಟವನ್ನು ಸೇರಿಸಿಕೊಳ್ಳಿ'); 
ta['ca-unwatch'] = new Array('w','Remove this page from your watchlist'); 
ta['search'] = new Array('f','ವಿಕಿಯನ್ನು ಶೋಧಿಸಿ'); 
ta['p-logo'] = new Array('','ಮುಖ್ಯ ಪುಟ'); 
ta['n-mainpage'] = new Array('z','ಮುಖ್ಯ ಪುಟ ನೋಡಿ'); 
ta['n-portal'] = new Array('','ಪ್ರಾಜೆಕ್ಟ್ ಬಗ್ಗೆ, ಎಲ್ಲಿಗೆ ಹೋಗಬೇಕು, ಏನು ಮಾಡಬಹುದು ಎಂಬುದರ ಬಗ್ಗೆ'); 
ta['n-currentevents'] = new Array('','ಪ್ರಚಲಿತ ವಿದ್ಯಮಾನಗಳ ಬಗೆಗಿನ ಹಿನ್ನೆಲೆ ಸುದ್ದಿಯನ್ನು ಅರಿತುಕೊಳ್ಳಿ'); 
ta['n-recentchanges'] = new Array('r','ವಿಕಿಯಲ್ಲಾದ ಇತ್ತೀಚೆಗಿನ ಬದಲಾವಣೆಗಳ ಪಟ್ಟಿ'); 
ta['n-randompage'] = new Array('x','ಯಾದೃಚ್ಛಿಕ ಪುಟಕ್ಕೆ ಹೋಗಿ'); 
ta['n-help'] = new Array('','ಇದನ್ನು ಕಂಡುಕೊಳ್ಳುವ ಜಾಗ'); 
ta['n-sitesupport'] = new Array('','ನಮ್ಮನ್ನು ಸಮರ್ಥಿಸಿ'); 
ta['t-whatlinkshere'] = new Array('j','ಇಲ್ಲಿಗೆ ಸಂಪರ್ಕ ಹೊಂದಿರುವ ವಿಕಿ ಪುಟಗಳ ಪಟ್ಟಿ'); 
ta['t-recentchangeslinked'] = new Array('k','ಈ ಪುಟಕ್ಕೆ ಸಂಪರ್ಕ ಇರುವ ಪುಟಗಳಲ್ಲಾದ ಇತ್ತೀಚೆಗಿನ ಬದಲಾವಣೆಗಳು'); 
ta['feed-rss'] = new Array('','RSS feed for this page'); 
ta['feed-atom'] = new Array('','Atom feed for this page'); 
ta['t-contributions'] = new Array('','ಈ ಸದಸ್ಯರ ಕಾಣಿಕೆಗಳ ಪಟ್ಟಿಯನ್ನು ವೀಕ್ಷಿಸಿ'); 
ta['t-emailuser'] = new Array('','ಈ ಸದಸ್ಯರಿಗೆ ಇ-ಅಂಚೆ ಕಳುಹಿಸಿ'); 
ta['t-upload'] = new Array('u','ಚಿತ್ರ ಅಥವಾ ಮೀಡಿಯಾವನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ'); 
ta['t-specialpages'] = new Array('q','ವಿಶೇಷ ಪುಟಗಲ ಪಟ್ಟಿ'); 
ta['ca-nstab-main'] = new Array('c','ಲೇಖನವನ್ನು ವೀಕ್ಷಿಸಿ'); 
ta['ca-nstab-user'] = new Array('c','ಸದಸ್ಯ ಪುಟವನ್ನು ವೀಕ್ಷಿಸಿ'); 
ta['ca-nstab-media'] = new Array('c','ಮೀಡಿಯಾ ಪುಟವನ್ನು ವೀಕ್ಷಿಸಿ'); 
ta['ca-nstab-special'] = new Array('','ಇದೊಂದು ವಿಶೇಷ ಪುಟ, ನೀವು ಇದನ್ನು ನೇರವಾಗಿ ಬದಲಾಯಿಸುವುದು ಸಾಧ್ಯವಿಲ್ಲ'); 
ta['ca-nstab-wp'] = new Array('a','ಸಂರಕ್ಷಣಾ ಪುಟವನ್ನು ವೀಕ್ಷಿಸಿ'); 
ta['ca-nstab-image'] = new Array('c','ಚಿತ್ರ ಪುಟವನ್ನು ವೀಕ್ಷಿಸಿ'); 
ta['ca-nstab-mediawiki'] = new Array('c','ಸಿಸ್ಟಮ್‌ನ ಸಂದೆಶಗಳನ್ನು ವೀಕ್ಷಿಸಿ'); 
ta['ca-nstab-template'] = new Array('c','ಟೆಂಪ್ಲೇಟನ್ನು ವೀಕ್ಷಿಸಿ'); 
ta['ca-nstab-help'] = new Array('c','ಸಹಾಯ ಪುಟವನ್ನು ವೀಕ್ಷಿಸಿ'); 
ta['ca-nstab-category'] = new Array('c','ಈ ವರ್ಗದ ಪುಟವನ್ನು ವೀಕ್ಷಿಸಿ');
function addLoadEvent(func) {

 if (window.addEventListener) 
   window.addEventListener("load", func, false);
 else if (window.attachEvent) 
   window.attachEvent("onload", func);

}

/*
<pre>
/* Test if an element has a certain class **************************************
 *
 * Description: Uses regular expressions and caching for better performance.
 * Maintainers: [[User:Vinay Matrubai]]
 */
 
var hasClass = (function () {
    var reCache = {};
    return function (element, className) {
        return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
    };
})();


/** Collapsible tables *********************************************************
 *
 *  Description: Allows tables to be collapsed, showing only the header. See
 *               [[:en:Wikipedia:NavFrame]].
 *  Maintainers: [[User:Vinay Matrubai]]
 */

var autoCollapse = 2;
var collapseCaption = "ಅಡಗಿಸು";
var expandCaption = "ತೋರಿಸು";

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.style.styleFloat = "right";
            Button.style.cssFloat = "right";
            Button.style.fontWeight = "normal";
            Button.style.textAlign = "right";
            Button.style.width = "6em";

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


/** Dynamic Navigation Bars (experimental) *************************************
 *
 *  Description: See [[:en:Wikipedia:NavFrame]].
 *  Maintainers: [[User:Vinay Matrubai]]
 */

// set up the words in your language
var NavigationBarHide = '[' + collapseCaption + ']';
var NavigationBarShow = '[' + expandCaption + ']';

// shows and hides content and picture (if available) of navigation bars
// Parameters:
//     indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(indexNavigationBar)
{
    var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
    var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);

    if (!NavFrame || !NavToggle) {
        return false;
    }

    // if shown now
    if (NavToggle.firstChild.data == NavigationBarHide) {
        for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
            if ( hasClass( NavChild, 'NavPic' ) ) {
                NavChild.style.display = 'none';
            }
            if ( hasClass( NavChild, 'NavContent') ) {
                NavChild.style.display = 'none';
            }
        }
    NavToggle.firstChild.data = NavigationBarShow;

    // if hidden now
    } else if (NavToggle.firstChild.data == NavigationBarShow) {
        for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
            if (hasClass(NavChild, 'NavPic')) {
                NavChild.style.display = 'block';
            }
            if (hasClass(NavChild, 'NavContent')) {
                NavChild.style.display = 'block';
            }
        }
        NavToggle.firstChild.data = NavigationBarHide;
    }
}

// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
{
    var indexNavigationBar = 0;
    // iterate over all < div >-elements 
    var divs = document.getElementsByTagName("div");
    for (var i = 0; NavFrame = divs[i]; i++) {
        // if found a navigation bar
        if (hasClass(NavFrame, "NavFrame")) {

            indexNavigationBar++;
            var NavToggle = document.createElement("a");
            NavToggle.className = 'NavToggle';
            NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
            NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');

            var isCollapsed = hasClass( NavFrame, "collapsed" );
            /*
             * Check if any children are already hidden.  This loop is here for backwards compatibility:
             * the old way of making NavFrames start out collapsed was to manually add style="display:none"
             * to all the NavPic/NavContent elements.  Since this was bad for accessibility (no way to make
             * the content visible without JavaScript support), the new recommended way is to add the class
             * "collapsed" to the NavFrame itself, just like with collapsible tables.
             */
            for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
                if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) {
                    if ( NavChild.style.display == 'none' ) {
                        isCollapsed = true;
                    }
                }
            }
            if (isCollapsed) {
                for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
                    if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) {
                        NavChild.style.display = 'none';
                    }
                }
            }
            var NavToggleText = document.createTextNode(isCollapsed ? NavigationBarShow : NavigationBarHide);
            NavToggle.appendChild(NavToggleText);

            // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
            for(var j=0; j < NavFrame.childNodes.length; j++) {
                if (hasClass(NavFrame.childNodes[j], "NavHead")) {
                    NavFrame.childNodes[j].appendChild(NavToggle);
                }
            }
            NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
        }
    }
}

addOnloadHook( createNavigationBarToggleButton );

/* Helper script for .hlist class in common.css
 * Maintainer: [[User:Edokter]]
 */
 
if ( $.client.profile().name == 'msie' ) {
  /* Add pseudo-selector class to last child list items in IE 8 */
  if ( $.client.profile().versionBase == '8' ) {
    $( '.hlist' ).find( 'dd:last-child, dt:last-child, li:last-child' )
      .addClass( 'hlist-last-child' );
  }
  /* Generate interpuncts and parens for IE < 8 */
  if ( $.client.profile().versionBase < '8' ) {
    $( '.hlist' ).find( 'dt + dd, dt + dt' ).prev()
      .append( '<b>:</b> ' );
    $( '.hlist' ).find( 'dd + dd, dd + dt, li + li' ).prev()
      .append( '<b>·</b> ' );
    $( '.hlist' ).find( 'dl dl, ol ol, ul ul' )
      .prepend( '( ' ).append( ') ' );
  }
}