diff -r 82810562f957 -r 3ab8c63d26db client/js/renderer/scene.js --- a/client/js/renderer/scene.js Tue May 06 13:11:35 2014 +0200 +++ b/client/js/renderer/scene.js Tue May 06 17:50:47 2014 +0200 @@ -991,25 +991,26 @@ defaultDropHandler: function(_data) { var newNode = {}; switch(_data["text/x-iri-specific-site"]) { - case "twitter": - var snippet = $('
').html(_data["text/x-iri-selected-html"]), - tweetdiv = snippet.find(".tweet"); - newNode.title = this.renkan.translate("Tweet by ") + tweetdiv.attr("data-name"); - newNode.uri = "http://twitter.com/" + tweetdiv.attr("data-screen-name") + "/status/" + tweetdiv.attr("data-tweet-id"); - newNode.image = tweetdiv.find(".avatar").attr("src"); - newNode.description = tweetdiv.find(".js-tweet-text:first").text(); - break; - case "google": - var snippet = $('
').html(_data["text/x-iri-selected-html"]); - newNode.title = snippet.find("h3:first").text().trim(); - newNode.uri = snippet.find("h3 a").attr("href"); - newNode.description = snippet.find(".st:first").text().trim(); - break; - case undefined: - default: - if (_data["text/x-iri-source-uri"]) { - newNode.uri = _data["text/x-iri-source-uri"]; - } + case "twitter": + var snippet = $('
').html(_data["text/x-iri-selected-html"]), + tweetdiv = snippet.find(".tweet"); + newNode.title = this.renkan.translate("Tweet by ") + tweetdiv.attr("data-name"); + newNode.uri = "http://twitter.com/" + tweetdiv.attr("data-screen-name") + "/status/" + tweetdiv.attr("data-tweet-id"); + newNode.image = tweetdiv.find(".avatar").attr("src"); + newNode.description = tweetdiv.find(".js-tweet-text:first").text(); + break; + case "google": + var snippet = $('
').html(_data["text/x-iri-selected-html"]); + newNode.title = snippet.find("h3:first").text().trim(); + newNode.uri = snippet.find("h3 a").attr("href"); + newNode.description = snippet.find(".st:first").text().trim(); + break; + case undefined: + default: + if (_data["text/x-iri-source-uri"]) { + newNode.uri = _data["text/x-iri-source-uri"]; + } + } if (_data["text/plain"] || _data["text/x-iri-selected-text"]) { newNode.description = (_data["text/plain"] || _data["text/x-iri-selected-text"]).replace(/[\s\n]+/gm,' ').trim(); } @@ -1054,11 +1055,25 @@ newNode.description = snippet.find("[data-description]").attr("data-description") || newNode.description; newNode.clipPath = snippet.find("[data-clip-path]").attr("data-clip-path") || newNode.clipPath; } + + if (!newNode.title) { + newNode.title = this.renkan.translate("Dragged resource"); } - + var fields = ["title", "description", "uri", "image"]; + for (var i = 0; i < fields.length; i++) { + var f = fields[i]; + if (_data["text/x-iri-" + f] || _data[f]) { + newNode[f] = _data["text/x-iri-" + f] || _data[f]; + } + if (newNode[f] === "none" || newNode[f] === "null") { + newNode[f] = undefined; + } + } + if(typeof this.renkan.options.drop_enhancer === "function"){ newNode = this.renkan.options.drop_enhancer(newNode, _data); } + return newNode; }, @@ -1073,22 +1088,9 @@ } catch(e) {} } - + var newNode = (typeof this.renkan.options.drop_handler === "undefined")?this.defaultDropHandler(_data):this.renkan.options.drop_handler(_data); - - if (!newNode.title) { - newNode.title = this.renkan.translate("Dragged resource"); - } - var fields = ["title", "description", "uri", "image"]; - for (var i = 0; i < fields.length; i++) { - var f = fields[i]; - if (_data["text/x-iri-" + f] || _data[f]) { - newNode[f] = _data["text/x-iri-" + f] || _data[f]; - } - if (newNode[f] === "none" || newNode[f] === "null") { - newNode[f] = undefined; - } - } + var _off = this.canvas_$.offset(), _point = new paper.Point([ _event.pageX - _off.left,