From 80e0714c0d21f74f368377264b7aa309633155ad Mon Sep 17 00:00:00 2001 From: David Jade Date: Thu, 12 Dec 2013 17:32:06 -0800 Subject: [PATCH 1/2] Fix for IE drag/drop issue #252 --- core/modules/widgets/dropzone.js | 22 ++++++++++++++++++++-- core/modules/widgets/link.js | 6 +++++- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/core/modules/widgets/dropzone.js b/core/modules/widgets/dropzone.js index 2947e46a8..5c800f75a 100644 --- a/core/modules/widgets/dropzone.js +++ b/core/modules/widgets/dropzone.js @@ -102,8 +102,10 @@ DropZoneWidget.prototype.handleDropEvent = function(event) { DropZoneWidget.prototype.importData = function(dataTransfer) { for(var t=0; t Date: Fri, 13 Dec 2013 03:12:56 -0800 Subject: [PATCH 2/2] Revised fix for IE drag/drop issue #252 Also improve browser drag/drop inter-op a tiny bit --- core/modules/widgets/dropzone.js | 10 +++++----- core/modules/widgets/link.js | 6 ++++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/core/modules/widgets/dropzone.js b/core/modules/widgets/dropzone.js index 5c800f75a..1e35b4533 100644 --- a/core/modules/widgets/dropzone.js +++ b/core/modules/widgets/dropzone.js @@ -117,6 +117,9 @@ DropZoneWidget.prototype.importData = function(dataTransfer) { }; DropZoneWidget.prototype.importDataTypes = [ + {type: "text/vnd.tiddler", convertToFields: function(data) { + return JSON.parse(data); + }}, {type: "URL", convertToFields: function(data) { // check for tiddler data URI var match = decodeURI(data).match(/^data\:text\/vnd\.tiddler,(.*)/i); @@ -128,15 +131,12 @@ DropZoneWidget.prototype.importDataTypes = [ }; } }}, - {type: "Text", convertToFields: function(data) { + {type: "text/plain", convertToFields: function(data) { return { text: data }; }}, - {type: "text/vnd.tiddler", convertToFields: function(data) { - return JSON.parse(data); - }}, - {type: "text/plain", convertToFields: function(data) { + {type: "Text", convertToFields: function(data) { return { text: data }; diff --git a/core/modules/widgets/link.js b/core/modules/widgets/link.js index ff5338ce0..47dbda61b 100755 --- a/core/modules/widgets/link.js +++ b/core/modules/widgets/link.js @@ -129,8 +129,10 @@ LinkWidget.prototype.handleDragStartEvent = function(event) { dataTransfer.setDragImage(this.dragImage.firstChild,-16,-16); } dataTransfer.clearData(); - dataTransfer.setData("text/vnd.tiddler",this.wiki.getTiddlerAsJson(this.to)); - dataTransfer.setData("text/plain",this.wiki.getTiddlerText(this.to,"")); + if(!(/msie|trident/i.test(navigator.userAgent))) { + dataTransfer.setData("text/vnd.tiddler",this.wiki.getTiddlerAsJson(this.to)); + dataTransfer.setData("text/plain",this.wiki.getTiddlerText(this.to,"")); + } dataTransfer.setData("URL","data:text/vnd.tiddler," + encodeURI(this.wiki.getTiddlerAsJson(this.to))); dataTransfer.setData("Text",this.wiki.getTiddlerText(this.to,"")); event.stopPropagation();