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

Reply via email to