Go to file
Roan Kattouw e644d33a8d Follow-up 5c38995bd9: don't destroy toolbar twice
The toolbar.destroy() call that was added in 5c38995bd9 was
needed to destroy the dummy toolbar when tearing down VE
before a surface had been intialized. But when tearing down
VE after the surface had been initialized (e.g. exiting using
the Read tab), we would do:

* setTimeout in tearDownToolbar()
** Set toolbar height to 0 and wait for transitionend
*** toolbar.destroy() once transition complete
* toolbar.destroy() in cancel()

This meant that we'd listen for a transitionend event
on an unattached element (because once the setTimeout runs,
the toolbar has already been destroyed by the second call),
which of course never fires, so we'd never resolve the
tearDownToolbar deferred and never finish tearing down VE.

Bug: T98388
Change-Id: I504f0cb0bf13643773fc98cb18b7b380cccb2f88
2015-05-06 16:18:45 -07:00
.jsduck Update VE core submodule to master (9be0272) 2015-05-04 18:53:03 -07:00
bin Merge "Follow-up a4bbe98cd: Kill emptiness hack check in bin/updateSubmodule.sh too" 2015-04-29 00:58:51 +00:00
build/tasks Use submodule for VisualEditor core 2013-12-20 09:18:41 +00:00
lib Update VE core submodule to master (2127edd) 2015-05-05 15:46:47 -07:00
modules Follow-up 5c38995bd9: don't destroy toolbar twice 2015-05-06 16:18:45 -07:00
.csslintrc Transform the search widget to show image details 2015-01-16 13:22:54 +00:00
.gitignore Add composer entry point for phpcs and linting 2015-03-06 08:44:30 -08:00
.gitmodules Use submodule for VisualEditor core 2013-12-20 09:18:41 +00:00
.gitreview Set defaultrebase=0 2012-06-20 16:27:40 -07:00
.jscsrc build: Enforce disallowMixedSpacesAndTabs jscs rule 2015-03-07 16:49:30 +00:00
.jshintignore Move libraries to the lib/ directory 2013-12-19 23:02:52 +01:00
.jshintrc jshint: Kill file-level globals and add "moment" to the list 2015-05-06 19:01:27 +00:00
.mailmap Update AUTHORS.txt, $wgExtensionCredits and .mailmap based on git shortlog 2015-03-26 11:05:02 -07:00
.rubocop.yml [BrowserTest] RuboCop should not complain about number of lines in a method 2014-11-21 16:57:27 +00:00
.rubocop_todo.yml [BrowserTest] Remove outdated offenses from .rubocop_todo.yml 2015-02-20 13:39:18 +02:00
ApiVisualEditor.php api: Expand helppage url before passing to 'newarticletext' 2015-05-06 21:01:59 +01:00
ApiVisualEditorEdit.php Further cleanup for core API change 2015-04-20 14:41:29 -04:00
AUTHORS.txt Update AUTHORS.txt, $wgExtensionCredits and .mailmap based on git shortlog 2015-03-26 11:05:02 -07:00
betafeatures-icon-VisualEditor-ltr.svg Run node-svgo to crush all SVGs whilst retaining readibility 2014-07-01 16:58:05 -07:00
betafeatures-icon-VisualEditor-rtl.svg Run node-svgo to crush all SVGs whilst retaining readibility 2014-07-01 16:58:05 -07:00
composer.json Add composer entry point for phpcs and linting 2015-03-06 08:44:30 -08:00
CONTRIBUTING.md Fix dead links in README.md and CONTRIBUTING.md 2014-03-10 18:26:30 +01:00
extension.json Refactor reference source selection out into a widget 2015-05-06 19:11:35 +01:00
Gemfile [BrowserTest] Update the screenshot gem version 2015-03-19 15:21:00 +02:00
Gemfile.lock [BrowserTest] Update the screenshot gem version 2015-03-19 15:21:00 +02:00
Gruntfile.js build: Remove unused 'pkg' from Gruntfile.js 2015-04-21 00:32:01 +00:00
jsduck.json build: Move pre/post 'doc' task into package.json 2015-04-06 17:18:29 +01:00
LICENSE.txt build: Bump copyright notices to 2015 2015-01-12 20:34:19 -08:00
package.json build: Bump various devDependencies 2015-04-29 08:58:24 -07:00
README.md README: Add devDependencies badge 2014-09-16 13:39:31 -07:00
VisualEditor.hooks.php Link inspector images and descriptions 2015-04-28 00:23:40 +01:00
VisualEditor.php Refactor reference source selection out into a widget 2015-05-06 19:11:35 +01:00
VisualEditorDataModule.php Use ResourceLoaderModule::safeFilemtime instead of using filemtime directly 2015-03-31 17:08:24 +00:00
VisualEditorViewPageTargetInitModule.php build: Bump copyright notices to 2015 2015-01-12 20:34:19 -08:00

devDependency Status

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 CONTRIBUTING.md. Patch submissions are reviewed and managed with Gerrit. There is also API documentation available for the VisualEditor.