Krinkle has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/395159 )
Change subject: [WIP] ImagePage: Create metadata table collapse button in PHP
......................................................................
[WIP] ImagePage: Create metadata table collapse button in PHP
Currently broken because makeMetadataTable() is treated as wikitext
and <a> is not valid in wikitext.
Change-Id: I05c06bdd4428f0d71a3c154c28237ba0bd57cda7
---
M includes/page/ImagePage.php
M resources/src/mediawiki.action/mediawiki.action.view.filepage.css
M resources/src/mediawiki.action/mediawiki.action.view.metadata.css
M resources/src/mediawiki.action/mediawiki.action.view.metadata.js
4 files changed, 51 insertions(+), 28 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/59/395159/1
diff --git a/includes/page/ImagePage.php b/includes/page/ImagePage.php
index 1dcdc65..46400c4 100644
--- a/includes/page/ImagePage.php
+++ b/includes/page/ImagePage.php
@@ -267,6 +267,20 @@
);
}
}
+ // Create button for metadata.js
+ $r .= Html::rawElement( 'tr',
+ [ 'class' => 'mw-metadata-show-hide-extended' ],
+ Html::rawElement( 'td',
+ [ 'colspan' => '2' ],
+ Html::element( 'a',
+ [
+ 'role' => 'button',
+ 'tabindex' => '0'
+ ],
+ $this->getContext()->msg(
'metadata-expand' )
+ )
+ )
+ );
$r .= "</table>\n</div>\n";
return $r;
}
diff --git a/resources/src/mediawiki.action/mediawiki.action.view.filepage.css
b/resources/src/mediawiki.action/mediawiki.action.view.filepage.css
index b643d76..a49db48 100644
--- a/resources/src/mediawiki.action/mediawiki.action.view.filepage.css
+++ b/resources/src/mediawiki.action/mediawiki.action.view.filepage.css
@@ -113,7 +113,15 @@
}
.client-js .mw_metadata.collapsed .mw-metadata-collapsible,
+.client-nojs .mw-metadata-show-hide-extended,
/* Keep tr.collapsible for back-compat with cached HTML */
.client-js .mw_metadata.collapsed tr.collapsable {
display: none;
}
+
+
+@media print {
+ .mw-metadata-show-hide-extended {
+ display: none;
+ }
+}
diff --git a/resources/src/mediawiki.action/mediawiki.action.view.metadata.css
b/resources/src/mediawiki.action/mediawiki.action.view.metadata.css
index f21b111..c93ff4b2 100644
--- a/resources/src/mediawiki.action/mediawiki.action.view.metadata.css
+++ b/resources/src/mediawiki.action/mediawiki.action.view.metadata.css
@@ -13,7 +13,7 @@
}
@media print {
- .mw_metadata .mw-metadata-show-hide-extended {
+ .mw-metadata-show-hide-extended {
display: none;
}
}
diff --git a/resources/src/mediawiki.action/mediawiki.action.view.metadata.js
b/resources/src/mediawiki.action/mediawiki.action.view.metadata.js
index ac927ae..4b0ab40 100644
--- a/resources/src/mediawiki.action/mediawiki.action.view.metadata.js
+++ b/resources/src/mediawiki.action/mediawiki.action.view.metadata.js
@@ -14,38 +14,39 @@
return;
}
$tables.each( function () {
- var $link,
+ var $link = $table.find(
'.mw-metadata-show-hide-extended a' ),
expandText = mw.msg( 'metadata-expand' ),
collapseText = mw.msg( 'metadata-collapse' ),
$table = $( this );
- $link = $( '<a>' )
- .text( expandText )
- .attr( {
- role: 'button',
- tabindex: 0
- } )
- .on( 'click keypress', function ( e ) {
- if (
- e.type === 'click' ||
- e.type === 'keypress'
&& e.which === 13
- ) {
- if ( $table.hasClass(
'collapsed' ) ) {
- // From
collapsed to expanded. Button will now collapse.
- $( this ).text(
collapseText );
- } else {
- // From
expanded to collapsed. Button will now expand.
- $( this ).text(
expandText );
- }
- $table.toggleClass(
'collapsed' );
- }
+ if ( !$link.length ) {
+ $link = $( '<a>' )
+ .text( expandText )
+ .attr( {
+ role: 'button',
+ tabindex: 0
} );
-
- $table.find( 'tbody' ).append(
- $( '<tr
class="mw-metadata-show-hide-extended"></tr>' ).append(
- $( '<td colspan="2"></td>' ).append(
$link )
- )
- );
+ $table.find( 'tbody' ).append(
+ $( '<tr
class="mw-metadata-show-hide-extended"></tr>' ).append(
+ $( '<td colspan="2"></td>'
).append( $link )
+ )
+ );
+ }
+ $link.on( 'click keypress', function ( e ) {
+ if (
+ e.type === 'click' ||
+ e.type === 'keypress' && e.which === 13
+ ) {
+ if ( $table.hasClass( 'collapsed' ) ) {
+ // From collapsed to expanded.
Button will now collapse.
+ $( this ).text( collapseText );
+ } else {
+ // From expanded to collapsed.
Button will now expand.
+ $( this ).text( expandText );
+ }
+ $table.toggleClass( 'collapsed' );
+ }
+ } );
} );
// Initial collapsed state
--
To view, visit https://gerrit.wikimedia.org/r/395159
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I05c06bdd4428f0d71a3c154c28237ba0bd57cda7
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Krinkle <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits