Difference between revisions of "MediaWiki:Common.js"
From Eco-Bible 1
Line 95: | Line 95: | ||
/* EDIT BUTTONS **************************************************************** */ | /* EDIT BUTTONS **************************************************************** */ | ||
+ | $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | ||
+ | 'sections': { | ||
+ | 'emoticons': { | ||
+ | 'type': 'toolbar', // Can also be 'booklet' | ||
+ | 'label': 'Emoticons' | ||
+ | // or 'labelMsg': 'section-emoticons-label' for a localized label | ||
+ | } | ||
+ | } | ||
+ | } ); | ||
+ | |||
+ | $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | ||
+ | 'section': 'emoticons', | ||
+ | 'groups': { | ||
+ | 'faces': { | ||
+ | 'label': 'Faces' // or use labelMsg for a localized label, see above | ||
+ | } | ||
+ | } | ||
+ | } ); | ||
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | ||
Line 113: | Line 131: | ||
} | } | ||
} ); | } ); | ||
+ | |||
+ | $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | ||
+ | 'sections': { | ||
+ | 'info': { | ||
+ | 'type': 'booklet', | ||
+ | 'label': 'Info' | ||
+ | } | ||
+ | } | ||
+ | } ); | ||
+ | |||
+ | $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | ||
+ | 'section': 'info', | ||
+ | 'pages': { | ||
+ | 'colors': { | ||
+ | 'layout': 'table', | ||
+ | 'label': 'Colors', | ||
+ | 'headings': [ | ||
+ | { text: 'Name' }, // or use textMsg for localization, see also above | ||
+ | { text: 'Temperature' }, | ||
+ | { text: 'Swatch' } | ||
+ | ], | ||
+ | 'rows': [ | ||
+ | { | ||
+ | 'name': { text: 'Red' }, | ||
+ | 'temp': { text: 'Warm' }, | ||
+ | 'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' } | ||
+ | }, | ||
+ | { | ||
+ | 'name': { text: 'Blue' }, | ||
+ | 'temp': { text: 'Cold' }, | ||
+ | 'swatch': { html: '<div style="width:10px;height:10px;background-color:blue;">' } | ||
+ | }, | ||
+ | { | ||
+ | 'name': { text: 'Silver' }, | ||
+ | 'temp': { text: 'Neutral' }, | ||
+ | 'swatch': { html: '<div style="width:10px;height:10px;background-color:silver;">' } | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | } | ||
+ | } ); | ||
+ | |||
+ | |||
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */ | /* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */ |
Revision as of 17:54, 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 **************************************************************** */ $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'sections': { 'emoticons': { 'type': 'toolbar', // Can also be 'booklet' 'label': 'Emoticons' // or 'labelMsg': 'section-emoticons-label' for a localized label } } } ); $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'emoticons', 'groups': { 'faces': { 'label': 'Faces' // or use labelMsg for a localized label, see above } } } ); $( '#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 } } } } } ); $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'sections': { 'info': { 'type': 'booklet', 'label': 'Info' } } } ); $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'info', 'pages': { 'colors': { 'layout': 'table', 'label': 'Colors', 'headings': [ { text: 'Name' }, // or use textMsg for localization, see also above { text: 'Temperature' }, { text: 'Swatch' } ], 'rows': [ { 'name': { text: 'Red' }, 'temp': { text: 'Warm' }, 'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' } }, { 'name': { text: 'Blue' }, 'temp': { text: 'Cold' }, 'swatch': { html: '<div style="width:10px;height:10px;background-color:blue;">' } }, { 'name': { text: 'Silver' }, 'temp': { text: 'Neutral' }, 'swatch': { html: '<div style="width:10px;height:10px;background-color:silver;">' } } ] } } } ); /* 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 ); } } ); } // Add the customizations to LiquidThreads' edit toolbar, if available mw.hook( 'ext.lqt.textareaCreated' ).add( customizeToolbar );