jenkins-bot has submitted this change and it was merged.
Change subject: demo: Switch mode back to VE when changing language
......................................................................
demo: Switch mode back to VE when changing language
Change-Id: I6cc703fcc85aff174b79822d716802062f100c96
---
M demos/ve/demo.js
1 file changed, 29 insertions(+), 18 deletions(-)
Approvals:
Jforrester: Looks good to me, approved
jenkins-bot: Verified
diff --git a/demos/ve/demo.js b/demos/ve/demo.js
index 86d937d..f245b9b 100644
--- a/demos/ve/demo.js
+++ b/demos/ve/demo.js
@@ -180,25 +180,25 @@
label: 'Page',
input: pageDropdown
} ),
- modeSelect = new OO.ui.ButtonSelectWidget().addItems( [
- new OO.ui.ButtonOptionWidget( { data: 've', label: 'VE'
} ),
- new OO.ui.ButtonOptionWidget( { data: 'edit', label:
'Edit HTML' } ),
- new OO.ui.ButtonOptionWidget( { data: 'read', label:
'Read' } )
- ] ),
removeButton = new OO.ui.ButtonWidget( {
$: this.$,
icon: 'remove',
label: 'Remove surface'
} );
- modeSelect.selectItem( modeSelect.getItemFromData( 've' ) );
+ this.modeSelect = new OO.ui.ButtonSelectWidget().addItems( [
+ new OO.ui.ButtonOptionWidget( { data: 've', label: 'VE' } ),
+ new OO.ui.ButtonOptionWidget( { data: 'edit', label: 'Edit
HTML' } ),
+ new OO.ui.ButtonOptionWidget( { data: 'read', label: 'Read' } )
+ ] );
+ this.modeSelect.selectItem( this.modeSelect.getItemFromData( 've' ) );
this.target = target;
this.surface = null;
this.lang = lang;
this.dir = dir;
this.$surfaceWrapper = this.$( '<div>' );
- this.lastMode = null;
+ this.mode = null;
this.pageMenu = pageDropdown.getMenu();
this.sourceTextInput = new OO.ui.TextInputWidget( {
$: this.$,
@@ -213,9 +213,9 @@
this.pageMenu.on( 'select', function ( item ) {
var page = item.getData();
container.change( 've', page );
- modeSelect.selectItem( modeSelect.getItemFromData( 've' ) );
+ container.modeSelect.selectItem(
container.modeSelect.getItemFromData( 've' ) );
} );
- modeSelect.on( 'select', function ( item ) {
+ this.modeSelect.on( 'select', function ( item ) {
container.change( item.getData() );
} );
removeButton.on( 'click', this.destroy.bind( this ) );
@@ -226,7 +226,7 @@
pageLabel.$element,
pageDropdown.$element,
this.$( '<span
class="ve-demo-toolbar-divider"> </span>' ),
- modeSelect.$element,
+ this.modeSelect.$element,
this.$( '<span
class="ve-demo-toolbar-divider"> </span>' ),
removeButton.$element
)
@@ -273,13 +273,20 @@
*
* @param {string} mode Mode to switch to: 've', 'edit or 'read'
* @param {string} [page] Page to load
+ * @return {jQuery.Promise} Promise which resolves when change is complete
*/
ve.demo.SurfaceContainer.prototype.change = function ( mode, page ) {
var model, doc, html, closePromise,
container = this,
currentDir = 'ltr';
- switch ( this.lastMode ) {
+ if ( mode === this.mode && !page ) {
+ return $.Deferred().resolve().promise();
+ }
+
+ this.modeSelect.selectItem( this.modeSelect.getItemFromData( mode ) );
+
+ switch ( this.mode ) {
case 've':
closePromise = this.$surfaceWrapper.slideUp().promise();
if ( !page ) {
@@ -311,7 +318,7 @@
break;
}
- closePromise.done( function () {
+ return closePromise.done( function () {
switch ( mode ) {
case 've':
if ( page ) {
@@ -331,7 +338,7 @@
container.$readView.html( html ).css(
'direction', currentDir ).slideDown();
break;
}
- container.lastMode = mode;
+ container.mode = mode;
} );
};
@@ -401,14 +408,18 @@
* @param {string} dir Directionality
*/
ve.demo.SurfaceContainer.prototype.reload = function ( lang, dir ) {
+ var container = this;
+
this.lang = lang;
this.dir = dir;
- this.loadHtml( ve.properInnerHtml(
- ve.dm.converter.getDomFromModel(
- this.surface.getModel().getDocument()
- ).body
- ) );
+ this.change( 've' ).done( function () {
+ container.loadHtml( ve.properInnerHtml(
+ ve.dm.converter.getDomFromModel(
+ container.surface.getModel().getDocument()
+ ).body
+ ) );
+ } );
};
/**
--
To view, visit https://gerrit.wikimedia.org/r/189463
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I6cc703fcc85aff174b79822d716802062f100c96
Gerrit-PatchSet: 5
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>
Gerrit-Reviewer: Esanders <[email protected]>
Gerrit-Reviewer: Jforrester <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits