X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/e1e728df4cd9e96c5865fcec0762eaaf5b37a3f7..796338e669626012da93ebea5ec7afa482a70ed7:/src/editor/plugins/core/core.js diff --git a/src/editor/plugins/core/core.js b/src/editor/plugins/core/core.js index 150464e..935b6d4 100644 --- a/src/editor/plugins/core/core.js +++ b/src/editor/plugins/core/core.js @@ -266,7 +266,11 @@ var createLinkFromSelection = function(callback, params) { executeButtonText: gettext('Apply'), cancelButtonText: gettext('Cancel'), fields: [ - {label: gettext('Link'), name: 'href', type: 'input'} + {label: gettext('Link'), name: 'href', type: 'input', + prePasteHandler: function(text) { + return params.fragment.document.getLinkForUrl(text); + }.bind(this) + } ] }), action = this; @@ -274,13 +278,12 @@ var createLinkFromSelection = function(callback, params) { dialog.on('execute', function(event) { doc.transaction(function() { var span = action.params.fragment.startNode.parent().wrapText({ - _with: {tagName: 'span', attrs: {'class': 'link'}}, + _with: {tagName: 'span', attrs: {'class': 'link', href: event.formData.href }}, offsetStart: params.fragment.startOffset, offsetEnd: params.fragment.endOffset, textNodeIdx: [params.fragment.startNode.getIndex(), params.fragment.endNode.getIndex()] }), doc = params.fragment.document; - span.setAttr('href', event.formData.href); event.success(); return doc.createFragment(doc.CaretFragment, {node: span.contents()[0], offset:0}); }, {