Go to file
Trevor Parscal 51e096d6f2 Refactor Transclusion and Meta dialogs to use BookletLayout
Use OOJS-UI's newly-extended paged dialogs (in e08eb2a03b) to refactor
how the Transclusion and Meta dialogs work, splitting out the code for
each of the panels into its own file and simplifying extensibility.

The Meta dialog (ve.ui.MWMetaDialog) now has two self-managing panels:
* ve.ui.MWCategoriesPage for categories and the default sort key
* ve.ui.MWLanguagesPage for language links

The Transclusion dialog (ve.ui.MWTransclusionDialog) now has four:
* ve.ui.MWTemplatePage for a template's primary panel
* ve.ui.MWTemplateParameterPage for each parameter of a template
* ve.ui.MWTemplatePlaceholderPage for a placeholder to insert a template
* ve.ui.MWTransclusionContentPage for non-template transclusion

Additionally, the Transclusion dialog has been slightly cleaned up:
* Replace add/remove events with replace events in transclusion model
* Actually return and resolve a promise (as documented)
* Get rid of "origin" info in template models
* Add method for adding required parts

TODO:

* Decide how and when we will choose between advanced transclusion and
  template dialogs
* Work out design issues with how template descriptions will be visible
  and how adding parameters will work if only showing parameters in
  outline
* Add preview to template dialog
* Consider ways to further improve pages for use in continuous mode

WARNING:

* Right now the template dialog gets overridden by the advanced
  transclusion dialog because they have the same symbolic name and the
  latter is registered later than the former. To test the template
  dialog, just change the symbolic name of the advanced transclusion
  dialog.

Change-Id: I51e74b322aec9a4c3918e6f792bdb3d318060979
2013-12-05 16:26:26 -08: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 Always use #getDocumentNode. 2013-12-04 22:55:26 +00:00
maintenance Replace raw oojs-ui files with v0.1.0-pre (0267100ab3) 2013-11-20 10:27:48 +05:30
modules Refactor Transclusion and Meta dialogs to use BookletLayout 2013-12-05 16:26:26 -08: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
.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 Fix csslint warnings 2013-12-03 23:09:56 +01:00
LICENSE.txt
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 Conditionally register oojs and oojs-ui 2013-12-04 18:28:59 -08:00
VisualEditor.i18n.php Localisation updates from https://translatewiki.net. 2013-12-04 20:26:17 +00:00
VisualEditor.php Refactor Transclusion and Meta dialogs to use BookletLayout 2013-12-05 16:26:26 -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.