mediawiki-extensions-Visual.../modules/ve/ce/annotations/ve.ce.LanguageAnnotation.js
Moriel Schottlender 59079978ff Language Inspector UI
This is the language inspector UI engine with ULS core.
The Language Inspector works alongside ULS to choose and change language
blocks in text. The inspector was based on ve.ui.TextInputWidget and
now changed to inherit ve.ui.Widget and display details in a table
instead of an input textbox.

Added jQuery.ULS module:
* Repository: https://github.com/wikimedia/jquery.uls
* Latest Commit 728f112ffc90b03b50c0109487886a2647f12020
* Taken 'src' / 'images' and 'css' folders into modules/jquery.uls

Bug: 47759
Change-Id: I3c9fd6c135c05a54f6c7fc28c5962fc0a6677806
2013-07-29 00:38:59 -04:00

47 lines
1.3 KiB
JavaScript

/*!
* VisualEditor ContentEditable LanguageAnnotation class.
*
* @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
/**
* ContentEditable language annotation.
*
* @class
* @extends ve.ce.Annotation
* @constructor
* @param {ve.dm.LanguageAnnotation} model Model to observe
* @param {Object} [config] Config options
*/
ve.ce.LanguageAnnotation = function VeCeLanguageAnnotation( model, config ) {
// Parent constructor
ve.ce.Annotation.call( this, model, config );
// DOM changes
this.$.addClass( 've-ce-LanguageAnnotation' );
this.$.attr( 'lang', model.getAttribute( 'lang' ) );
this.$.attr( 'dir', model.getAttribute( 'dir' ) );
// TODO:
// When ULS is active, use $.uls.getAutonym(lang) to get the full
// language name in the tooltip
// (eg 'he' will be 'Hebrew' and 'en' will be 'English')
this.$.attr( 'title' , ve.msg( 'visualeditor-languageinspector-block-tooltip', model.getAttribute( 'lang' ) ) );
};
/* Inheritance */
ve.inheritClass( ve.ce.LanguageAnnotation, ve.ce.Annotation );
/* Static Properties */
ve.ce.LanguageAnnotation.static.name = 'language';
ve.ce.LanguageAnnotation.static.tagName = 'span';
/* Registration */
ve.ce.annotationFactory.register( ve.ce.LanguageAnnotation );