mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-11-16 02:51:50 +00:00
63 lines
1.2 KiB
JavaScript
63 lines
1.2 KiB
JavaScript
|
/**
|
||
|
* DataModel annotation for a text style.
|
||
|
*
|
||
|
* @class
|
||
|
* @constructor
|
||
|
* @extends {ve.dm.Annotation}
|
||
|
*/
|
||
|
ve.dm.TextStyleAnnotation = function() {
|
||
|
// Inheritance
|
||
|
ve.dm.Annotation.call( this );
|
||
|
};
|
||
|
|
||
|
/* Static Members */
|
||
|
|
||
|
/**
|
||
|
* Converters.
|
||
|
*
|
||
|
* @see {ve.dm.Converter}
|
||
|
* @static
|
||
|
* @member
|
||
|
*/
|
||
|
ve.dm.TextStyleAnnotation.converters = {
|
||
|
'tags': ['i', 'b', 'u', 's', 'small', 'big', 'span'],
|
||
|
'html': {
|
||
|
'convert': function( subType, annotation ) {
|
||
|
return annotation.type && ve.dm.createHtmlElement( ( {
|
||
|
'italic': 'i',
|
||
|
'bold': 'b',
|
||
|
'underline': 'u',
|
||
|
'strike': 's',
|
||
|
'small': 'small',
|
||
|
'big': 'big',
|
||
|
'span': 'span'
|
||
|
// TODO: Add other supported HTML inline elements to this list
|
||
|
} )[subType] );
|
||
|
}
|
||
|
},
|
||
|
'data': {
|
||
|
'convert': function( tag, element ) {
|
||
|
return {
|
||
|
'type': 'textStyle/' + ( {
|
||
|
'i': 'italic',
|
||
|
'b': 'bold',
|
||
|
'u': 'underline',
|
||
|
's': 'strike',
|
||
|
'small': 'small',
|
||
|
'big': 'big',
|
||
|
'span': 'span'
|
||
|
// TODO: Add other supported HTML inline elements to this list
|
||
|
} )[tag]
|
||
|
};
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
|
||
|
/* Registration */
|
||
|
|
||
|
ve.dm.annotationFactory.register( 'textStyle', ve.dm.TextStyleAnnotation );
|
||
|
|
||
|
/* Inheritance */
|
||
|
|
||
|
ve.extendClass( ve.dm.TextStyleAnnotation, ve.dm.Annotation );
|