mediawiki-extensions-Visual.../modules/ve/dm/ve.dm.AnnotationFactory.js
Catrope 819b3ded33 Move matching code from AnnotationFactory to ModelRegistry
ModelRegistry registers both annotations and nodes, and performs
matching on both at the same time. It also registers annotations with
the AnnotationFactory, and nodes with the NodeFactory.

Change-Id: I5e68e506a0e573cc0afe6304ccea058ffc20d1c8
2013-01-22 15:51:37 -08:00

39 lines
886 B
JavaScript

/*!
* VisualEditor DataModel AnnotationFactory class.
*
* @copyright 2011-2012 VisualEditor Team and others; see AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
/**
* DataModel annotation factory.
*
* @class
* @extends ve.Factory
* @constructor
*/
ve.dm.AnnotationFactory = function VeDmAnnotationFactory() {
// Parent constructor
ve.Factory.call( this );
};
/* Inheritance */
ve.inheritClass( ve.dm.AnnotationFactory, ve.Factory );
/* Methods */
// TODO provided for backwards compatibility, this should go away
ve.dm.AnnotationFactory.prototype.createFromElement = function ( element ) {
var name = ve.dm.modelRegistry.matchElement( element );
if ( name === null || !( name in this.registry ) ) {
return null;
} else {
return this.create( name, element );
}
};
/* Initialization */
ve.dm.annotationFactory = new ve.dm.AnnotationFactory();