Bmansurov has uploaded a new change for review.
https://gerrit.wikimedia.org/r/278081
Change subject: WIP: Show nested references inside the drawer
......................................................................
WIP: Show nested references inside the drawer
todo: add qUnit tests
Bug: T129918
Change-Id: I1307a5b189364484848c17a18036af0640b38f56
---
M resources/mobile.references/ReferencesDrawer.js
M resources/mobile.references/references.js
2 files changed, 32 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend
refs/changes/81/278081/1
diff --git a/resources/mobile.references/ReferencesDrawer.js
b/resources/mobile.references/ReferencesDrawer.js
index e961c7e..a1097fe 100644
--- a/resources/mobile.references/ReferencesDrawer.js
+++ b/resources/mobile.references/ReferencesDrawer.js
@@ -36,6 +36,9 @@
label: mw.msg(
'mobile-frontend-references-citation' )
} ).toHtmlString()
} ),
+ events: {
+ 'click sup a': 'showNestedReference'
+ },
/** @inheritdoc */
show: function () {
uiSchema.log( {
@@ -76,6 +79,31 @@
*/
onHide: function () {
$( 'body' ).removeClass( 'drawer-enabled' );
+ },
+ /**
+ * Fetch and render nested reference upon click
+ * @param {jQuery.Event} ev
+ */
+ showNestedReference: function ( ev ) {
+ var $dest = $( ev.target ),
+ href = $dest.attr( 'href' ),
+ self = this;
+
+ this.options.getReference( href, this.options.page
).done( function ( reference ) {
+ self.render( {
+ title: $dest.text(),
+ text: reference.text
+ } );
+ } ).fail( function () {
+ self.render( {
+ error: true,
+ title: $dest.text(),
+ text: mw.msg(
'mobile-frontend-references-citation-error' )
+ } );
+ } );
+
+ // Don't hide the already shown drawer
+ ev.stopPropagation();
}
} );
diff --git a/resources/mobile.references/references.js
b/resources/mobile.references/references.js
index 3cdb910..04b412b 100644
--- a/resources/mobile.references/references.js
+++ b/resources/mobile.references/references.js
@@ -110,7 +110,10 @@
if ( !drawer ) {
// Note we only initialise here to avoid adding to DOM
unnecessarily
// (Drawer currently auto appends within the postRender
function )
- drawer = new ReferencesDrawer();
+ drawer = new ReferencesDrawer( {
+ page: $dest.data( 'page' ),
+ getReference: getReference
+ } );
}
getReference( href, $dest.data( 'page' ) ).done( function (
reference ) {
drawer.render( {
--
To view, visit https://gerrit.wikimedia.org/r/278081
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1307a5b189364484848c17a18036af0640b38f56
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Bmansurov <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits