mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiEditor
synced 2024-11-28 02:00:34 +00:00
Revert "Revert "Preserve textarea state when building WikiEditor UI""
Ib97f47ef1d66420682bd429c9c12e66c3392e77d Didn't cause
problems so this is now safe to reapply (to wmf2).
This reverts commit 908e7cc56c
.
Change-Id: I510536959b58ff0adacd7908f6150c95bfdb3ec1
This commit is contained in:
parent
908e7cc56c
commit
b5696dc435
|
@ -486,6 +486,9 @@ if ( !context || typeof context === 'undefined' ) {
|
||||||
.append( $( '<span>' + mediaWiki.msg( 'wikieditor-loading' ) + '</span>' )
|
.append( $( '<span>' + mediaWiki.msg( 'wikieditor-loading' ) + '</span>' )
|
||||||
.css( 'marginTop', context.$textarea.height() / 2 ) );
|
.css( 'marginTop', context.$textarea.height() / 2 ) );
|
||||||
*/
|
*/
|
||||||
|
/* Preserving cursor and focus state, which will get lost due to wrapAll */
|
||||||
|
var hasFocus = context.$textarea.is( ':focus' ),
|
||||||
|
cursorPos = context.$textarea.textSelection( 'getCaretPosition', { startAndEnd: true } );
|
||||||
// Encapsulate the textarea with some containers for layout
|
// Encapsulate the textarea with some containers for layout
|
||||||
context.$textarea
|
context.$textarea
|
||||||
/* Disabling our loading div for now
|
/* Disabling our loading div for now
|
||||||
|
@ -497,6 +500,14 @@ if ( !context || typeof context === 'undefined' ) {
|
||||||
.wrapAll( $( '<div>' ).addClass( 'wikiEditor-ui-left' ) )
|
.wrapAll( $( '<div>' ).addClass( 'wikiEditor-ui-left' ) )
|
||||||
.wrapAll( $( '<div>' ).addClass( 'wikiEditor-ui-bottom' ) )
|
.wrapAll( $( '<div>' ).addClass( 'wikiEditor-ui-bottom' ) )
|
||||||
.wrapAll( $( '<div>' ).addClass( 'wikiEditor-ui-text' ) );
|
.wrapAll( $( '<div>' ).addClass( 'wikiEditor-ui-text' ) );
|
||||||
|
// Restore scroll position after this wrapAll (tracked by mediawiki.action.edit)
|
||||||
|
context.$textarea.prop( 'scrollTop', $( '#wpScrolltop' ).val() );
|
||||||
|
// Restore focus and cursor if needed
|
||||||
|
if ( hasFocus ) {
|
||||||
|
context.$textarea.focus();
|
||||||
|
context.$textarea.textSelection( 'setSelection', { start: cursorPos[0], end: cursorPos[1] } );
|
||||||
|
}
|
||||||
|
|
||||||
// Get references to some of the newly created containers
|
// Get references to some of the newly created containers
|
||||||
context.$ui = context.$textarea.parent().parent().parent().parent().parent();
|
context.$ui = context.$textarea.parent().parent().parent().parent().parent();
|
||||||
context.$wikitext = context.$textarea.parent().parent().parent().parent();
|
context.$wikitext = context.$textarea.parent().parent().parent().parent();
|
||||||
|
|
Loading…
Reference in a new issue