From 1e13a6c94f022914db2932a67403c41122964f1d Mon Sep 17 00:00:00 2001 From: Leo Koppelkamm Date: Sat, 16 Apr 2011 11:54:43 +0000 Subject: [PATCH] Free metadata toggle script from wikibits.js dependencies; rename to mediawiki.action.view.metadata.js --- includes/ImagePage.php | 2 +- resources/Resources.php | 11 ++-- .../mediawiki.action.view.metadata.js | 38 +++++++++++++ skins/common/metadata.js | 53 ------------------- 4 files changed, 43 insertions(+), 61 deletions(-) create mode 100644 resources/mediawiki.action/mediawiki.action.view.metadata.js delete mode 100644 skins/common/metadata.js diff --git a/includes/ImagePage.php b/includes/ImagePage.php index 1ac22a3fd9..cdaac24501 100644 --- a/includes/ImagePage.php +++ b/includes/ImagePage.php @@ -156,7 +156,7 @@ class ImagePage extends Article { if ( $showmeta ) { $wgOut->addHTML( Xml::element( 'h2', array( 'id' => 'metadata' ), wfMsg( 'metadata' ) ) . "\n" ); $wgOut->addWikiText( $this->makeMetadataTable( $formattedMetadata ) ); - $wgOut->addModules( array( 'mediawiki.legacy.metadata' ) ); + $wgOut->addModules( array( 'mediawiki.action.view.metadata' ) ); } $css = $this->repo->getDescriptionStylesheetUrl(); diff --git a/resources/Resources.php b/resources/Resources.php index e61045b1c1..a2dbb32c36 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -416,6 +416,10 @@ return array( 'mediawiki.action.view.rightClickEdit' => array( 'scripts' => 'resources/mediawiki.action/mediawiki.action.view.rightClickEdit.js', ), + 'mediawiki.action.view.metadata' => array( + 'scripts' => 'resources/mediawiki.action/mediawiki.action.view.metadata.js', + 'messages' => array( 'metadata-expand', 'metadata-collapse' ), + ), 'mediawiki.action.watch.ajax' => array( 'scripts' => 'resources/mediawiki.action/mediawiki.action.watch.ajax.js', 'dependencies' => 'mediawiki.util', @@ -555,13 +559,6 @@ return array( 'localBasePath' => "{$GLOBALS['IP']}/skins", 'dependencies' => 'mediawiki.legacy.wikibits', ), - 'mediawiki.legacy.metadata' => array( - 'scripts' => 'common/metadata.js', - 'remoteBasePath' => $GLOBALS['wgStylePath'], - 'localBasePath' => "{$GLOBALS['IP']}/skins", - 'dependencies' => 'mediawiki.legacy.wikibits', - 'messages' => array( 'metadata-expand', 'metadata-collapse' ), - ), 'mediawiki.legacy.mwsuggest' => array( 'scripts' => 'common/mwsuggest.js', 'remoteBasePath' => $GLOBALS['wgStylePath'], diff --git a/resources/mediawiki.action/mediawiki.action.view.metadata.js b/resources/mediawiki.action/mediawiki.action.view.metadata.js new file mode 100644 index 0000000000..a0194608c9 --- /dev/null +++ b/resources/mediawiki.action/mediawiki.action.view.metadata.js @@ -0,0 +1,38 @@ +// Exif metadata display for MediaWiki file uploads +// +// Add an expand/collapse link and collapse by default if set to +// (with JS disabled, user will see all items) +// + +$( document ).ready( function() { + var showText = mw.msg( 'metadata-expand' ); + var hideText = mw.msg( 'metadata-collapse' ); + + var $table = $( '#mw_metadata' ); + var $tbody = $table.find( 'tbody' ); + if ( !$tbody.length ) { + return; + } + + var $row = $( '' ); + var $col = $( '' ); + + var $link = $( '', { + 'text': showText + }).click(function() { + if ( $table.is( '.collapsed' ) ) { + $( this ).text( hideText ); + } else { + $( this ).text( showText ); + } + $table.toggleClass( 'expanded, collapsed' ); + return false; + }); + + $col.append( $link ); + $row.append( $col ); + $tbody.append( $row ); + + // And collapse! + $table.addClass( 'collapsed' ); +} ); diff --git a/skins/common/metadata.js b/skins/common/metadata.js deleted file mode 100644 index 7123c5f895..0000000000 --- a/skins/common/metadata.js +++ /dev/null @@ -1,53 +0,0 @@ -// Exif metadata display for MediaWiki file uploads -// -// Add an expand/collapse link and collapse by default if set to -// (with JS disabled, user will see all items) -// -// attachMetadataToggle('mw_metadata', 'More...', 'Fewer...'); - -window.attachMetadataToggle = function( tableId, showText, hideText ) { - if ( document.createTextNode ) { - var box = document.getElementById( tableId ); - if ( !box ) { - return false; - } - - var tbody = box.getElementsByTagName('tbody')[0]; - - var row = document.createElement( 'tr' ); - - var col = document.createElement( 'td' ); - col.colSpan = 2; - - var link = document.createElement( 'a' ); - link.href = '#'; - - link.onclick = function() { - if ( box.className == 'mw_metadata collapsed' ) { - changeText( link, hideText ); - box.className = 'mw_metadata expanded'; - } else { - changeText( link, showText ); - box.className = 'mw_metadata collapsed'; - } - return false; - }; - - var text = document.createTextNode( hideText ); - - link.appendChild( text ); - col.appendChild( link ); - row.appendChild( col ); - tbody.appendChild( row ); - - // And collapse! - link.onclick(); - - return true; - } - return false; -}; - -$( document ).ready( function() { - attachMetadataToggle( 'mw_metadata', mw.msg( 'metadata-expand' ), mw.msg( 'metadata-collapse' ) ); -} ); -- 2.20.1