mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-11-25 14:56:20 +00:00
0d1617a627
Mostly as a demonstration of how easy this is with MWExtensionNode. The icon was chosen with the following criteria: 1. Recognisable (the ankh is quite common in popular culture, right?) 2. Doesn't look idiotic to academics (I've consulted an Egyptology PhD and they can confirm it's not the glyph for penis) 3. Renders well at <16x16 That said it does look a little like a stick man... Bug: 43118 Change-Id: I9f9e8af501401866bfeecf0eec3690a705fbd4db
51 lines
1.2 KiB
JavaScript
51 lines
1.2 KiB
JavaScript
/*!
|
|
* VisualEditor ContentEditable MWHieroNode class.
|
|
*
|
|
* @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
|
|
* @license The MIT License (MIT); see LICENSE.txt
|
|
*/
|
|
|
|
/**
|
|
* ContentEditable MediaWiki hieroglyphics node.
|
|
*
|
|
* @class
|
|
* @extends ve.ce.MWExtensionNode
|
|
*
|
|
* @constructor
|
|
* @param {ve.dm.MWHieroNode} model Model to observe
|
|
* @param {Object} [config] Config options
|
|
*/
|
|
ve.ce.MWHieroNode = function VeCeMWHieroNode( model, config ) {
|
|
// Parent constructor
|
|
ve.ce.MWExtensionNode.call( this, model, config );
|
|
|
|
// DOM Changes
|
|
this.$.addClass( 've-ce-mwHieroNode' );
|
|
};
|
|
|
|
/* Inheritance */
|
|
|
|
ve.inheritClass( ve.ce.MWHieroNode, ve.ce.MWExtensionNode );
|
|
|
|
/* Static Properties */
|
|
|
|
ve.ce.MWHieroNode.static.name = 'mwHiero';
|
|
|
|
ve.ce.MWHieroNode.static.tagName = 'div';
|
|
|
|
/* Methods */
|
|
|
|
/** */
|
|
ve.ce.MWHieroNode.prototype.onParseSuccess = function ( deferred, response ) {
|
|
var data = response.visualeditor, contentNodes = $( data.content ).get();
|
|
deferred.resolve( contentNodes );
|
|
// Rerender after image load
|
|
this.$.find( 'img' ).on( 'load', ve.bind( function () {
|
|
this.emit( 'rerender' );
|
|
}, this ) );
|
|
};
|
|
|
|
/* Registration */
|
|
|
|
ve.ce.nodeFactory.register( ve.ce.MWHieroNode );
|