DLynch has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/331535 )
Change subject: Override ui.CommentInspector so that copying from it sets text/x-wiki ...................................................................... Override ui.CommentInspector so that copying from it sets text/x-wiki Also, register text/x-wiki as a paste string type, so that pasting content from a comment will result in it being parsed as wikitext. Bug: T154837 Change-Id: I3413c955aa23d34683e1a028a581b1ea34d55d49 Depends-On: Ibd458859b01de982487fefeabb901cbb61996800 --- M extension.json M modules/ve-mw/init/ve.init.mw.Target.js A modules/ve-mw/ui/inspectors/ve.ui.MWCommentInspector.js 3 files changed, 74 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor refs/changes/35/331535/1 diff --git a/extension.json b/extension.json index 6ff0ace..210dcc3 100644 --- a/extension.json +++ b/extension.json @@ -1784,7 +1784,8 @@ "modules/ve-mw/ui/ve.ui.MWWikitextDataTransferHandlerFactory.js", "modules/ve-mw/ui/ve.ui.MWDesktopWikitextSurface.js", "modules/ve-mw/ui/actions/ve.ui.MWWikitextAction.js", - "modules/ve-mw/ui/inspectors/ve.ui.MWWikitextLinkAnnotationInspector.js" + "modules/ve-mw/ui/inspectors/ve.ui.MWWikitextLinkAnnotationInspector.js", + "modules/ve-mw/ui/inspectors/ve.ui.MWCommentInspector.js" ], "styles": [ "modules/ve-mw/ui/styles/ve.ui.MWDesktopWikitextSurface.css" diff --git a/modules/ve-mw/init/ve.init.mw.Target.js b/modules/ve-mw/init/ve.init.mw.Target.js index ff1b4e6..6d8e5d8 100644 --- a/modules/ve-mw/init/ve.init.mw.Target.js +++ b/modules/ve-mw/init/ve.init.mw.Target.js @@ -132,6 +132,11 @@ */ ve.init.mw.Target.static.platformType = null; +/** + * @inheritdoc + */ +ve.init.mw.Target.static.pasteStringTypes = [ 'text/x-moz-url', 'text/uri-list', 'text/x-uri', 'text/x-wiki', 'text/html', 'text/plain' ]; + /* Static Methods */ /** diff --git a/modules/ve-mw/ui/inspectors/ve.ui.MWCommentInspector.js b/modules/ve-mw/ui/inspectors/ve.ui.MWCommentInspector.js new file mode 100644 index 0000000..2062efa --- /dev/null +++ b/modules/ve-mw/ui/inspectors/ve.ui.MWCommentInspector.js @@ -0,0 +1,67 @@ +/*! + * VisualEditor UserInterface MWCommentInspector class. + * + * @copyright 2011-2017 VisualEditor Team and others; see AUTHORS.txt + * @license The MIT License (MIT); see LICENSE.txt + */ + +/** + * Inspector for editing Mediawiki comments. + * + * @class + * @extends ve.ui.CommentInspector + * + * @constructor + * @param {Object} [config] Configuration options + */ +ve.ui.MWCommentInspector = function VeUiMWCommentInspector() { + // Parent constructor + ve.ui.MWCommentInspector.super.apply( this, arguments ); +}; + +/* Inheritance */ + +OO.inheritClass( ve.ui.MWCommentInspector, ve.ui.CommentInspector ); + +/* Static properties */ + +ve.ui.MWCommentInspector.static.name = 'comment'; + +ve.ui.MWCommentInspector.static.modelClasses = [ ve.dm.CommentNode ]; + +/* Methods */ + +/** + * @inheritdoc + */ +ve.ui.MWCommentInspector.prototype.initialize = function () { + // Parent method + ve.ui.MWCommentInspector.super.prototype.initialize.apply( this, arguments ); + + this.textWidget.$input.on( 'copy', this.onCopy.bind( this ) ); +}; + +ve.ui.MWCommentInspector.prototype.onCopy = function ( e ) { + var profile = $.client.profile(), + clipboardData = e.originalEvent.clipboardData, + selection = ( e.target.value ).substring( e.target.selectionStart, e.target.selectionEnd ), + supportsCustomMimeType = !!clipboardData && + // Support: Edge + // Despite having the clipboard API, Edge only supports Text and URL types. + profile.name !== 'edge' && ( + // Chrome + clipboardData.items || + // Firefox >= 48 (but not Firefox Android, which has name='android' and doesn't support this feature) + ( profile.name === 'firefox' && profile.versionNumber >= 48 ) + ); + if ( supportsCustomMimeType ) { + e.preventDefault(); + + clipboardData.setData( 'text/x-wiki', selection ); + clipboardData.setData( 'text/plain', selection ); // If you're pasting to not-VE + } +}; + +/* Registration */ + +ve.ui.windowFactory.register( ve.ui.MWCommentInspector ); -- To view, visit https://gerrit.wikimedia.org/r/331535 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I3413c955aa23d34683e1a028a581b1ea34d55d49 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/VisualEditor Gerrit-Branch: master Gerrit-Owner: DLynch <dly...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits