mediawiki-extensions-Visual.../modules/ve/ce/annotations/ve.ce.LinkAnnotation.js
Roan Kattouw 5c04118c07 Get rid of dmRendering hack in ve.ce.MWInternalLinkAnnotation
Centralize href computation in getHref(). Because getHref() is provided
by the generic LinkAnnotation class, the subclass implementation is
now simpler.

Bug: 51487
Change-Id: Ia6ca85bc84b4f4453b572285836adb631e8d0683
2013-10-28 15:49:08 +00:00

42 lines
1.1 KiB
JavaScript

/*!
* VisualEditor ContentEditable LinkAnnotation class.
*
* @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
/**
* ContentEditable link annotation.
*
* @class
* @extends ve.ce.Annotation
* @constructor
* @param {ve.dm.LinkAnnotation} model Model to observe
* @param {ve.ce.ContentBranchNode} [parentNode] Node rendering this annotation
* @param {Object} [config] Configuration options
*/
ve.ce.LinkAnnotation = function VeCeLinkAnnotation( model, parentNode, config ) {
// Parent constructor
ve.ce.Annotation.call( this, model, parentNode, config );
// DOM changes
this.$.addClass( 've-ce-LinkAnnotation' );
this.$.attr( 'href', ve.resolveUrl( this.model.getHref(), this.getModelHtmlDocument() ) );
};
/* Inheritance */
OO.inheritClass( ve.ce.LinkAnnotation, ve.ce.Annotation );
/* Static Properties */
ve.ce.LinkAnnotation.static.name = 'link';
ve.ce.LinkAnnotation.static.tagName = 'a';
ve.ce.LinkAnnotation.static.forceContinuation = true;
/* Registration */
ve.ce.annotationFactory.register( ve.ce.LinkAnnotation );