Go to file
Roan Kattouw febc0f567f Defer selection-triggered updates in ve.ui.Context
Move selection change handling (closing the popup if open, and updating
the context toolbar) to .afterChange(). Every time .onChange() detects
a selection change, it schedules a call to afterChange(). These calls
are batched so that multiple selection changes in the same tick cause
afterChange() to be called only once.

Deferring these updates causes them to no longer occur while a 'change'
event is being emitted. This means that if an inspectors' close handler
calls .change(), that call is now no longer nested inside another
.change() call and doesn't run afoul of any render locks set by the
caller of the outer .change().

Bug: 54675
Change-Id: Iae2f41a83b5d64251a54e42303100e84a5c25561
2013-10-23 15:12:47 +00:00
.docs Add bin/ directory with updateStaticLoaders and generateDocs 2013-10-22 23:51:51 +02:00
bin Add bin/ directory with updateStaticLoaders and generateDocs 2013-10-22 23:51:51 +02:00
demos Rename oo.js to oojs.js per library name 2013-10-22 19:18:32 +00:00
maintenance Rename oo.js to oojs.js per library name 2013-10-22 19:18:32 +00:00
modules Defer selection-triggered updates in ve.ui.Context 2013-10-23 15:12:47 +00: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 Set defaultrebase=0 2012-06-20 16:27:40 -07:00
.jshintignore Language Inspector UI 2013-07-29 00:38:59 -04:00
.jshintrc oojs: Integrate with OOJS v1.0.0 2013-06-06 17:29:55 +02:00
ApiVisualEditor.php Change X-Parsoid-Performance header value indicating cached response 2013-10-06 23:30:27 +00:00
ApiVisualEditorEdit.php Set 'notminor' if minor edit box not checked 2013-07-24 15:07:05 +01:00
AUTHORS.txt Add David to author lists 2013-08-29 11:11:10 -07:00
CONTRIBUTING.md Merge "Updates to support jsduck 5.x" 2013-09-24 15:37:56 +00:00
Gruntfile.js grunt: Also delete QUnit temp files when test fails 2013-06-17 11:27:52 -07:00
LICENSE.txt Bump copyright year range to 2013 in the licence file 2013-03-18 09:55:57 -07:00
logo-experimental.png Integrate with BetaPreferences 2013-09-10 10:20:14 -07:00
logo-experimental.svg Enable VisualEditor using Beta Features 2013-10-11 14:50:24 +01:00
logo.png Enable VisualEditor using Beta Features 2013-10-11 14:50:24 +01:00
logo.svg Enable VisualEditor using Beta Features 2013-10-11 14:50:24 +01:00
package.json Updates to README.md and CODING.md 2013-09-17 19:09:25 -04:00
README.md Updates to README.md and CODING.md 2013-09-17 19:09:25 -04:00
VisualEditor.hooks.php Remove ve.Factory and ve.Registry and use oojs instead 2013-10-22 19:15:18 +00:00
VisualEditor.i18n.php Localisation updates from http://translatewiki.net. 2013-10-22 19:22:15 +00:00
VisualEditor.php Rename oo.js to oojs.js per library name 2013-10-22 19:18:32 +00:00
VisualEditorDataModule.php Clean up VisualEditorDataModule and document ve.version 2013-09-18 03:40:00 +02: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.