Go to file
Timo Tijhof c6b997d0ba mw.Target: Fix document focus scroll bug
Follows-up I55ef2622c9eacc which activated code introduced in
mw.Target in commits before that one that caused a change in the
execution order.

Hiding of page content (regular wiki page content provided by
original view request) must happen before the surface document is
focussed.

We used to hide the content from mw.ViewPageTarget#setUpSurface,
which is called from #onReady, which focusses the document after
setUpSurface is done.

Most of this code was moved to mw.ViewPageTarget#onSurfaceReady
which is the listener for the surfaceReady event emitted from

If our surface document gets focus while the original wikipage
content container is still there, the view port is forced to
scroll down because our surface is the next element sibling after
the wikipage container in the DOM.

And browsers (apparently Chrome is not affected) naturally retain
scroll position even if the elements above the one you "scrolled to"
disappear.

We can't (and shouldn't) move the hidePageContent call because
that's the responsibility of the Target subclass, so instead
moved the document focus to below the hidePageContent which is
now also part of the responsibility of the Target subclass.

Also:
* Removed target.surfaceOptions reference because that property
  does not exist. We never passed a second argument here, and
  whatever this was intended for, doesn't exist.

Bug: 58089
Change-Id: I230fbd5401cbd6e3b9450c7f156650409be8ef16
2013-12-06 22:32:51 +01:00
.docs Refactor Transclusion and Meta dialogs to use BookletLayout 2013-12-05 16:26:26 -08:00
bin Add bin/ directory with updateStaticLoaders and generateDocs 2013-10-22 23:51:51 +02:00
demos Insert special character tool 2013-12-05 22:51:14 -08:00
maintenance Replace raw oojs-ui files with v0.1.0-pre (0267100ab3) 2013-11-20 10:27:48 +05:30
modules mw.Target: Fix document focus scroll bug 2013-12-06 22:32:51 +01:00
.csslintignore Fix csslint warnings 2013-12-03 23:09:56 +01:00
.csslintrc Add .csslintrc file and fix remaining warnings 2013-06-05 11:07:00 +00:00
.gitignore Implement Grunt support (grunt jshint,csslint,qunit,watch) 2013-06-05 11:10:23 +00:00
.gitreview
.jscs.json Set up node-jscs, pass it, and configure in local Gruntfile 2013-12-06 10:37:27 -08:00
.jshintignore Replace raw oojs-ui files with v0.1.0-pre (0267100ab3) 2013-11-20 10:27:48 +05:30
.jshintrc oojs: Integrate with OOJS v1.0.0 2013-06-06 17:29:55 +02:00
ApiVisualEditor.php Implement serialization cache in VisualEditor API 2013-11-20 10:26:47 +00:00
ApiVisualEditorEdit.php Implement serialization cache in VisualEditor API 2013-11-20 10:26:47 +00:00
AUTHORS.txt Add Moriel Schottlender to AUTHORS.txt and authors string 2013-10-23 11:24:03 -07:00
betafeatures-icon-VisualEditor-formulae-ltr.svg Adapt beta features icons for RTL 2013-11-08 18:33:53 +02:00
betafeatures-icon-VisualEditor-formulae-rtl.svg Adapt beta features icons for RTL 2013-11-08 18:33:53 +02:00
betafeatures-icon-VisualEditor-ltr.svg Adapt beta features icons for RTL 2013-11-08 18:33:53 +02:00
betafeatures-icon-VisualEditor-rtl.svg Adapt beta features icons for RTL 2013-11-08 18:33:53 +02:00
CONTRIBUTING.md doc: Get rid of 'static' property container in jsduck index 2013-11-19 10:21:39 +00:00
Gruntfile.js Set up node-jscs, pass it, and configure in local Gruntfile 2013-12-06 10:37:27 -08:00
LICENSE.txt
package.json Set up node-jscs, pass it, and configure in local Gruntfile 2013-12-06 10:37:27 -08:00
README.md Updates to README.md and CODING.md 2013-09-17 19:09:25 -04:00
VisualEditor.hooks.php Conditionally register oojs and oojs-ui 2013-12-04 18:28:59 -08:00
VisualEditor.i18n.php Insert special character tool 2013-12-05 22:51:14 -08:00
VisualEditor.php Insert special character tool 2013-12-05 22:51:14 -08:00
VisualEditorDataModule.php Create base MobileView config and target refactor 2013-12-02 17:59:27 -08:00

VisualEditor

VisualEditor provides a visual editor for wiki pages. It is written in JavaScript and runs in a web browser.

It uses the Parsoid parser to convert wikitext documents to annotated HTML which the VisualEditor is able to load, modify and emit back to Parsoid at which point it is converted back into wikitext.

For more information about these projects, check out the VisualEditor and Parsoid pages on mediawiki.

Developing and installing

For information on installing VisualEditor on a local wiki, please see https://www.mediawiki.org/wiki/Extension:VisualEditor

For information about running tests and contributing code to VisualEditor, see CODING.md. Patch submissions are reviewed and managed with Gerrit. There is also API documentation available for the VisualEditor.