Mooeypoo has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/204204

Change subject: [wip] Focus on the first focusable element in template dialog
......................................................................

[wip] Focus on the first focusable element in template dialog

Use the new OOUI focusFirstFocusable() to find the first focusable
element in the booklet layout and focus on it. Only do this if no
other elements are currently focused.

* Depends on ooui change I746389d66b8

Change-Id: I62bb5bc18196fdde61a3f5446b7385037a55a737
---
M modules/ve-mw/ui/dialogs/ve.ui.MWTemplateDialog.js
M modules/ve-mw/ui/dialogs/ve.ui.MWTransclusionDialog.js
2 files changed, 15 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/04/204204/1

diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWTemplateDialog.js 
b/modules/ve-mw/ui/dialogs/ve.ui.MWTemplateDialog.js
index 00493dc..2675682 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWTemplateDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWTemplateDialog.js
@@ -83,6 +83,7 @@
 ve.ui.MWTemplateDialog.prototype.onTransclusionReady = function () {
        this.loaded = true;
        this.$element.addClass( 've-ui-mwTemplateDialog-ready' );
+       this.findFocus();
        this.popPending();
 };
 
@@ -512,11 +513,21 @@
  * @inheritdoc
  */
 ve.ui.MWTemplateDialog.prototype.getReadyProcess = function ( data ) {
-       var dialog = this;
        return ve.ui.MWTemplateDialog.super.prototype.getReadyProcess.call( 
this, data )
                .next( function () {
-                       dialog.bookletLayout.focus();
-               } );
+                       this.findFocus();
+               }, this );
+};
+
+/**
+ * Find the focus on the page. Check if there is already a focused
+ * element, and if not, get the first focusable element in the booklet layout
+ * and focus on it.
+ */
+ve.ui.MWTemplateDialog.prototype.findFocus = function () {
+       if ( !this.bookletLayout.$element.find( ':focus' ) ) {
+               this.bookletLayout.focusFirstFocusable();
+       }
 };
 
 /**
diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWTransclusionDialog.js 
b/modules/ve-mw/ui/dialogs/ve.ui.MWTransclusionDialog.js
index 065110f..752f4bd 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWTransclusionDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWTransclusionDialog.js
@@ -69,7 +69,7 @@
 ve.ui.MWTransclusionDialog.prototype.onTransclusionReady = function () {
        // Parent method
        ve.ui.MWTransclusionDialog.super.prototype.onTransclusionReady.call( 
this );
-
+       this.findFocus();
        this.setMode( 'auto' );
 };
 

-- 
To view, visit https://gerrit.wikimedia.org/r/204204
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I62bb5bc18196fdde61a3f5446b7385037a55a737
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Mooeypoo <mor...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to