Jforrester has uploaded a new change for review.

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


Change subject: Add support for <blockquote> elements
......................................................................

Add support for <blockquote> elements

Bug: 51009
Change-Id: I7ba1635e4f856a021e1a7a2d26a8714230c9364a
---
M VisualEditor.i18n.php
M VisualEditor.php
M modules/ve-mw/ui/tools/dropdowns/ve.ui.MWFormatDropdownTool.js
A modules/ve/ce/nodes/ve.ce.BlockquoteNode.js
A modules/ve/dm/nodes/ve.dm.BlockquoteNode.js
M modules/ve/ui/styles/ve.ui.Tool.css
M modules/ve/ui/tools/dropdowns/ve.ui.FormatDropdownTool.js
7 files changed, 98 insertions(+), 2 deletions(-)


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

diff --git a/VisualEditor.i18n.php b/VisualEditor.i18n.php
index f206557..67ecaad 100644
--- a/VisualEditor.i18n.php
+++ b/VisualEditor.i18n.php
@@ -84,6 +84,7 @@
        'visualeditor-editsummary' => 'Describe what you changed',
        'visualeditor-feedback-link' => 'Project:VisualEditor/Feedback',
        'visualeditor-feedback-tool' => 'Leave feedback',
+       'visualeditor-formatdropdown-format-blockquote' => 'Blockquote',
        'visualeditor-formatdropdown-format-heading1' => 'Heading 1',
        'visualeditor-formatdropdown-format-heading2' => 'Heading 2',
        'visualeditor-formatdropdown-format-heading3' => 'Heading 3',
@@ -326,6 +327,7 @@
        'visualeditor-editsummary' => 'Label for the edit summary box',
        'visualeditor-feedback-link' => 'Link to a page where users can leave 
feedback that is automatically posted using this tool. This should be a 
sub-page of {{msg-mw|visualeditor-descriptionpagelink}}',
        'visualeditor-feedback-tool' => 'Text of tool in the toolbar that lets 
users provide feedback',
+       'visualeditor-formatdropdown-format-blockquote' => 'Item in the 
formatting dropdown for blockquoted text.',
        'visualeditor-formatdropdown-format-heading1' => 'Item in the generic 
formatting dropdown for a level 1 heading.
 {{Identical|Heading}}',
        'visualeditor-formatdropdown-format-heading2' => 'Item in the generic 
formatting dropdown for a level 2 heading.
diff --git a/VisualEditor.php b/VisualEditor.php
index 61086f5..7aad5fa 100644
--- a/VisualEditor.php
+++ b/VisualEditor.php
@@ -332,6 +332,7 @@
                        've/dm/nodes/ve.dm.ListNode.js',
                        've/dm/nodes/ve.dm.ParagraphNode.js',
                        've/dm/nodes/ve.dm.PreformattedNode.js',
+                       've/dm/nodes/ve.dm.BlockquoteNode.js',
                        've/dm/nodes/ve.dm.TableCaptionNode.js',
                        've/dm/nodes/ve.dm.TableCellNode.js',
                        've/dm/nodes/ve.dm.TableNode.js',
@@ -403,6 +404,7 @@
                        've/ce/nodes/ve.ce.ListNode.js',
                        've/ce/nodes/ve.ce.ParagraphNode.js',
                        've/ce/nodes/ve.ce.PreformattedNode.js',
+                       've/ce/nodes/ve.ce.BlockquoteNode.js',
                        've/ce/nodes/ve.ce.TableCaptionNode.js',
                        've/ce/nodes/ve.ce.TableCellNode.js',
                        've/ce/nodes/ve.ce.TableNode.js',
@@ -634,6 +636,7 @@
                        'visualeditor-editsummary',
                        'visualeditor-feedback-link',
                        'visualeditor-feedback-tool',
+                       'visualeditor-formatdropdown-format-blockquote',
                        'visualeditor-formatdropdown-format-mw-heading1',
                        'visualeditor-formatdropdown-format-mw-heading2',
                        'visualeditor-formatdropdown-format-mw-heading3',
diff --git a/modules/ve-mw/ui/tools/dropdowns/ve.ui.MWFormatDropdownTool.js 
b/modules/ve-mw/ui/tools/dropdowns/ve.ui.MWFormatDropdownTool.js
index 504212e..fb45520 100644
--- a/modules/ve-mw/ui/tools/dropdowns/ve.ui.MWFormatDropdownTool.js
+++ b/modules/ve-mw/ui/tools/dropdowns/ve.ui.MWFormatDropdownTool.js
@@ -42,8 +42,8 @@
 ve.ui.MWFormatDropdownTool.static.items[6].label = 
'visualeditor-formatdropdown-format-mw-heading6';
 ve.ui.MWFormatDropdownTool.static.items[7].data.type = 'mwPreformatted';
 
-// Move the H1 (item 1 in the list) to the end (7) so as to make it less 
prominent and tempting to users
-ve.ui.MWFormatDropdownTool.static.items.splice( 7, 0, 
ve.ui.MWFormatDropdownTool.static.items.splice( 1, 1 )[0] );
+// Move the H1 (item 1 in the list) to the end (8) so as to make it less 
prominent and tempting to users
+ve.ui.MWFormatDropdownTool.static.items.splice( 8, 0, 
ve.ui.MWFormatDropdownTool.static.items.splice( 1, 1 )[0] );
 
 /* Registration */
 
diff --git a/modules/ve/ce/nodes/ve.ce.BlockquoteNode.js 
b/modules/ve/ce/nodes/ve.ce.BlockquoteNode.js
new file mode 100644
index 0000000..98059f8
--- /dev/null
+++ b/modules/ve/ce/nodes/ve.ce.BlockquoteNode.js
@@ -0,0 +1,36 @@
+/*!
+ * VisualEditor ContentEditable BlockquoteNode class.
+ *
+ * @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
+ * @license The MIT License (MIT); see LICENSE.txt
+ */
+
+/**
+ * ContentEditable blockquote node.
+ *
+ * @class
+ * @extends ve.ce.BranchNode
+ * @constructor
+ * @param {ve.dm.BlockquoteNode} model Model to observe
+ * @param {Object} [config] Config options
+ */
+ve.ce.BlockquoteNode = function VeCeBlockquoteNode( model, config ) {
+       // Parent constructor
+       ve.ce.ContentBranchNode.call( this, model, config );
+};
+
+/* Inheritance */
+
+ve.inheritClass( ve.ce.BlockquoteNode, ve.ce.ContentBranchNode );
+
+/* Static Properties */
+
+ve.ce.BlockquoteNode.static.name = 'blockquote';
+
+ve.ce.BlockquoteNode.static.tagName = 'blockquote';
+
+ve.ce.BlockquoteNode.static.canBeSplit = true;
+
+/* Registration */
+
+ve.ce.nodeFactory.register( ve.ce.BlockquoteNode );
diff --git a/modules/ve/dm/nodes/ve.dm.BlockquoteNode.js 
b/modules/ve/dm/nodes/ve.dm.BlockquoteNode.js
new file mode 100644
index 0000000..93ca78c
--- /dev/null
+++ b/modules/ve/dm/nodes/ve.dm.BlockquoteNode.js
@@ -0,0 +1,44 @@
+/*!
+ * VisualEditor DataModel BlockquoteNode class.
+ *
+ * @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
+ * @license The MIT License (MIT); see LICENSE.txt
+ */
+
+/**
+ * DataModel blockquote node.
+ *
+ * @class
+ * @extends ve.dm.BranchNode
+ * @constructor
+ * @param {ve.dm.LeafNode[]} [children] Child nodes to attach
+ * @param {Object} [element] Reference to element in linear model
+ */
+ve.dm.BlockquoteNode = function VeDmBlockquoteNode( children, element ) {
+       // Parent constructor
+       ve.dm.BranchNode.call( this, children, element );
+};
+
+/* Inheritance */
+
+ve.inheritClass( ve.dm.BlockquoteNode, ve.dm.BranchNode );
+
+/* Static Properties */
+
+ve.dm.BlockquoteNode.static.name = 'blockquote';
+
+ve.dm.BlockquoteNode.static.canContainContent = true;
+
+ve.dm.BlockquoteNode.static.matchTagNames = [ 'blockquote' ];
+
+ve.dm.BlockquoteNode.static.toDataElement = function () {
+       return { 'type': 'blockquote' };
+};
+
+ve.dm.BlockquoteNode.static.toDomElements = function ( dataElement, doc ) {
+       return [ doc.createElement( 'blockquote' ) ];
+};
+
+/* Registration */
+
+ve.dm.modelRegistry.register( ve.dm.BlockquoteNode );
diff --git a/modules/ve/ui/styles/ve.ui.Tool.css 
b/modules/ve/ui/styles/ve.ui.Tool.css
index d42cf1f..85dc56f 100644
--- a/modules/ve/ui/styles/ve.ui.Tool.css
+++ b/modules/ve/ui/styles/ve.ui.Tool.css
@@ -163,6 +163,10 @@
        font-weight: bold;
 }
 
+.ve-ui-dropdownTool-format .ve-ui-optionWidget[rel="blockquote"] 
.ve-ui-labeledElement-label {
+       margin-left: 2em;
+}
+
 .ve-ui-dropdownTool-format .ve-ui-optionWidget[rel="preformatted"] 
.ve-ui-labeledElement-label {
        font-family: monospace, "Courier New";
 }
diff --git a/modules/ve/ui/tools/dropdowns/ve.ui.FormatDropdownTool.js 
b/modules/ve/ui/tools/dropdowns/ve.ui.FormatDropdownTool.js
index ea57ae4..7dca88c 100644
--- a/modules/ve/ui/tools/dropdowns/ve.ui.FormatDropdownTool.js
+++ b/modules/ve/ui/tools/dropdowns/ve.ui.FormatDropdownTool.js
@@ -109,6 +109,13 @@
                'data': {
                        'type' : 'preformatted'
                }
+       },
+       {
+               'label': 'visualeditor-formatdropdown-format-blockquote',
+               'rel': 'blockquote',
+               'data': {
+                       'type' : 'blockquote'
+               }
        }
 ];
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7ba1635e4f856a021e1a7a2d26a8714230c9364a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Jforrester <jforres...@wikimedia.org>

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

Reply via email to