mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-11-16 02:51:50 +00:00
43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
|
/**
|
||
|
* Creates an ve.Surface object.
|
||
|
*
|
||
|
* A surface is a top-level object which contains both a surface model and a surface view.
|
||
|
*
|
||
|
* @class
|
||
|
* @constructor
|
||
|
* @param {String} id Unique name of editor instance
|
||
|
* @param {Array} data Document data
|
||
|
* @param {Object} options Configuration options
|
||
|
*/
|
||
|
ve.Surface = function( id, data, options ) {
|
||
|
// Properties
|
||
|
this.id = id;
|
||
|
this.options = ve.extendObject( {
|
||
|
// Default options
|
||
|
}, this.options );
|
||
|
|
||
|
this.documentModel = ve.dm.DocumentNode.newFromPlainObject( data );
|
||
|
this.surfaceModel = new ve.dm.Surface( this.documentModel );
|
||
|
|
||
|
//TODO: Find source of breakage when view element is not #es-editor
|
||
|
this.view = new ve.ce.Surface( $( '#es-editor' ), this.surfaceModel );
|
||
|
this.context = new ve.ui.Context( this.view );
|
||
|
|
||
|
//TODO: Configure toolbar based on this.options.
|
||
|
this.toolbar = new ve.ui.Toolbar( $( '#es-toolbar'), this.view, options.toolbars.top );
|
||
|
// Registration
|
||
|
ve.instances.push( this );
|
||
|
};
|
||
|
|
||
|
ve.Surface.prototype.getSurfaceModel = function() {
|
||
|
return this.surfaceModel;
|
||
|
};
|
||
|
|
||
|
ve.Surface.prototype.getDocumentModel = function() {
|
||
|
return this.documentModel;
|
||
|
};
|
||
|
|
||
|
ve.Surface.prototype.getID = function() {
|
||
|
return this.id;
|
||
|
};
|