mediawiki-extensions-Visual.../modules/ve2/ve.Surface.js
Catrope bd900a4bd4 Add ve2 directory for rewriting code in
Change-Id: Id71ba248c73baa05e5fbeb8ad91f9225c1d1f412
2012-04-16 19:38:13 -07:00

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;
};