Difference between revisions of "MediaWiki:Common.js"
From Eco-Bible 1
Line 98: | Line 98: | ||
var customizeToolbar = function() { | var customizeToolbar = function() { | ||
/* Your code goes here */ | /* Your code goes here */ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Revision as of 19:21, 5 August 2016
/* Any JavaScript here will be loaded for all users on every page load. */ /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[Wikipedia:NavFrame]]. * Maintainer on Wikipedia: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "hide"; var expandCaption = "show"; function hasClass( element, className ) { var Classes = element.className.split( " " ); for ( var i = 0; i < Classes.length; i++ ) { if ( Classes[i] == className ) { return ( true ); } } return ( false ); } function collapseTable( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.getElementsByTagName( "tr" ); 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" ) ) { 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.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); var Header = Tables[i].getElementsByTagName( "tr" )[0].getElementsByTagName( "th" )[0]; /* only add button and increment count if there is a header row to work with */ if (Header) { 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 ); } } } addOnloadHook( createCollapseButtons ); /* EDIT BUTTONS **************************************************************** */ var customizeToolbar = function() { /* Your code goes here */ $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'emoticons', 'group': 'faces', 'tools': { 'smile': { label: 'Smile!', // or use labelMsg for a localized label, see above type: 'button', icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png', action: { type: 'encapsulate', options: { pre: ":)" // text to be inserted } } } } } ); }; /* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */ if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) { mw.loader.using( 'user.options', function () { // This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]]) if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) { $.when( mw.loader.using( 'ext.wikiEditor.toolbar' ), $.ready ).then( customizeToolbar ); } } ); } /** * Extra buttons in toolbar * @stats [[File:Krinkle_InsertWikiEditorButton.js]] */ $.ajax({ url: 'https://meta.wikimedia.org/w/index.php?title=User:Krinkle/Scripts/InsertWikiEditorButton.js&action=raw&ctype=text/javascript', dataType: 'script', cache: true }).done(function () { // Bible Page krInsertWikiEditorButton({ id: "mw-insertbiblepagebutton", icon: "http://www.journal33.com/eco-bible.org/images/2/2b/BP_Button.png", label: 'Bible Page', insertBefore: '{| style=\"float:right; width:200px;\"\n| <div class=\"image_box\" align=\"center\">\n[[Image:put image here]]\n</div>\n{| style=\"border:1px solid #ccc; padding:2px; background-color:#eef;\"\n|- \n| align=\"center\" |\n=== Cross-references ===\n|-\n| align=\"left\" |\n===== For Better Understanding =====\n\n* a\n\n===== Related Topics =====\n\n* b\n\n===== Additional Materials =====\n\n* c\n \n|}\n|}\n\n== Summary ==\n\n*\n\n\n==Details and/or Comments==\n\n*\n\n\n==Scripture==\n\nReference – Summary, if desired\n\n{| border=\"1\" cellpadding=\"5\" cellspacing=\"0\"\n|width=\"50%\" align=\"center\"|\'\'\'Scripture Passage\'\'\'\n|width=\"50%\" align=\"center\"|\'\'\'Comments and Links\'\'\'\n|-\n|Use the above titles!\n\nVerses \n|Comments and\n\n*Links\n\n|}\n\n\n\{\{ADD BIBLE BOOK HERE\}\}\n\{\{Bible Books\}\}\n\{\{Bible Copyright\}\}\n[[Category:Bible Page]]\n', }); // Monkey krInsertWikiEditorButton({ id: 'mw-customeditbutton-anotherspecialbutton', icon: '//upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Gnome-face-monkey.svg/22px-Gnome-face-monkey.svg.png', label: 'Insert monkey', insertBefore: '[[File:Gnome-face-monkey.svg|21px|', insertAfter: ']]', sampleText: 'Happy face' }); });