Mooeypoo has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/70560


Change subject: [WIP] Language Inspector Prototype
......................................................................

[WIP] Language Inspector Prototype

Please ignore this for the moment; this will be the language inspector
but for the moment I'm trying to set up the files and go over the code
as per the example of the link inspector. It's far from being ready for
any sort of meaningful review just yet (though suggestions are comments
are always welcome!)

Change-Id: I239eef5124e29369ea9c5d8c0f49b2f6a61bc053
---
A modules/ve/ce/annotations/ve.ce.LanguageAnnotation.js
A modules/ve/dm/annotations/ve.dm.LanguageAnnotation.js
A modules/ve/ui/inspectors/ve.ui.LanguageInspector.js
A modules/ve/ui/widgets/ve.ui.LanguageWidget.js
4 files changed, 101 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/60/70560/1

diff --git a/modules/ve/ce/annotations/ve.ce.LanguageAnnotation.js 
b/modules/ve/ce/annotations/ve.ce.LanguageAnnotation.js
new file mode 100644
index 0000000..9d1e5f7
--- /dev/null
+++ b/modules/ve/ce/annotations/ve.ce.LanguageAnnotation.js
@@ -0,0 +1,38 @@
+/*!
+ * 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.LinkAnnotation} 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' ) );
+};
+
+/* 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 );
diff --git a/modules/ve/dm/annotations/ve.dm.LanguageAnnotation.js 
b/modules/ve/dm/annotations/ve.dm.LanguageAnnotation.js
new file mode 100644
index 0000000..d333dd2
--- /dev/null
+++ b/modules/ve/dm/annotations/ve.dm.LanguageAnnotation.js
@@ -0,0 +1,61 @@
+/*!
+ * VisualEditor DataModel LanguageAnnotation class.
+ *
+ * @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
+ * @license The MIT License (MIT); see LICENSE.txt
+ */
+
+/**
+ * DataModel language annotation.
+ *
+ * Represents `<span>` tags with 'lang' property.
+ *
+ * @class
+ * @extends ve.dm.Annotation
+ * @constructor
+ * @param {Object} element
+ */
+ve.dm.LanguageAnnotation = function VeDmLanguageAnnotation( element ) {
+       // Parent constructor
+       ve.dm.Annotation.call( this, element );
+};
+
+/* Inheritance */
+
+ve.inheritClass( ve.dm.LanguageAnnotation, ve.dm.Annotation );
+
+/* Static Properties */
+
+ve.dm.LanguageAnnotation.static.name = 'language';
+
+ve.dm.LanguageAnnotation.static.matchTagNames = ['span'];
+
+ve.dm.LanguageAnnotation.static.applyToAppendedContent = false;
+
+ve.dm.LanguageAnnotation.static.toDataElement = function ( domElements ) {
+       return {
+               'type': 'span',
+               'attributes': {
+                       'lang': domElements[0].getAttribute( 'lang' )
+               }
+       };
+};
+
+ve.dm.LanguageAnnotation.static.toDomElements = function ( dataElement, doc ) {
+       var domElement = doc.createElement( 'span' );
+       domElement.setAttribute( 'lang', dataElement.attributes.href );
+       return [ domElement ];
+};
+
+/* Methods */
+
+ve.dm.LanguageAnnotation.prototype.getComparableObject = function () {
+       return {
+               'type': this.getType(),
+               'lang': this.getAttribute( 'lang' )
+       };
+};
+
+/* Registration */
+
+ve.dm.modelRegistry.register( ve.dm.LanguageAnnotation );
diff --git a/modules/ve/ui/inspectors/ve.ui.LanguageInspector.js 
b/modules/ve/ui/inspectors/ve.ui.LanguageInspector.js
new file mode 100644
index 0000000..e22a6d6
--- /dev/null
+++ b/modules/ve/ui/inspectors/ve.ui.LanguageInspector.js
@@ -0,0 +1 @@
+/** placeholder file for the moment **/
\ No newline at end of file
diff --git a/modules/ve/ui/widgets/ve.ui.LanguageWidget.js 
b/modules/ve/ui/widgets/ve.ui.LanguageWidget.js
new file mode 100644
index 0000000..e22a6d6
--- /dev/null
+++ b/modules/ve/ui/widgets/ve.ui.LanguageWidget.js
@@ -0,0 +1 @@
+/** placeholder file for the moment **/
\ No newline at end of file

-- 
To view, visit https://gerrit.wikimedia.org/r/70560
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I239eef5124e29369ea9c5d8c0f49b2f6a61bc053
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Mooeypoo <mor...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to