# HG changeset patch # User raph # Date 1361986793 -3600 # Node ID a7efd386872a5ad8077b08489d285ad4fa08cef5 # Parent 566b590aaf8fdfaa5f64dc9e584b26ddd40ae823 Drag-and-drop support for Renkan diff -r 566b590aaf8f -r a7efd386872a .project --- a/.project Fri Feb 08 16:38:28 2013 +0100 +++ b/.project Wed Feb 27 18:39:53 2013 +0100 @@ -6,12 +6,12 @@ - org.python.pydev.PyDevBuilder + com.aptana.ide.core.unifiedBuilder - org.python.pydev.pythonNature + com.aptana.projects.webnature diff -r 566b590aaf8f -r a7efd386872a src/widgets/Annotation.js --- a/src/widgets/Annotation.js Fri Feb 08 16:38:28 2013 +0100 +++ b/src/widgets/Annotation.js Wed Feb 27 18:39:53 2013 +0100 @@ -34,7 +34,7 @@ + '
' + '
' + '{{#show_social}}
{{/show_social}}' - + '

{{#show_annotation_type}} » {{/show_annotation_type}} ' + + '

{{#show_annotation_type}} » {{/show_annotation_type}} ' + '( - )

' + '

{{l10n.excerpt_from}} ' + '( - )

' @@ -167,6 +167,14 @@ this.source.getAnnotations().on("found", highlightTitleAndDescription); this.source.getAnnotations().on("not-found", highlightTitleAndDescription); this.source.getAnnotations().on("search-cleared", highlightTitleAndDescription); + this.$.find("[draggable]").on("dragstart", function(e) { + var url = (typeof currentAnnotation.url !== "undefined" + ? currentAnnotation.url + : (document.location.href.replace(/#.*$/,'') + '#id=' + currentAnnotation.id)); + e.originalEvent.dataTransfer.setData("text/x-iri-title",currentAnnotation.title); + e.originalEvent.dataTransfer.setData("text/x-iri-description",currentAnnotation.description); + e.originalEvent.dataTransfer.setData("text/x-iri-uri",url); + }); } IriSP.Widgets.Annotation.prototype.sendBounds = function() { diff -r 566b590aaf8f -r a7efd386872a src/widgets/AnnotationsList.js --- a/src/widgets/AnnotationsList.js Fri Feb 08 16:38:28 2013 +0100 +++ b/src/widgets/AnnotationsList.js Wed Feb 27 18:39:53 2013 +0100 @@ -65,15 +65,15 @@ IriSP.Widgets.AnnotationsList.prototype.annotationTemplate = '
  • ' + '
    ' - + '' + + '' + '' + '' + '
    ' + '
    {{begin}} - {{end}}
    ' - + '

    ' - + '{{{title}}}' + + '

    ' + + '{{{htitle}}}' + '

    ' - + '

    {{{description}}}

    ' + + '

    {{{hdescription}}}

    ' + '{{#tags.length}}' + '
      ' + '{{#tags}}' @@ -180,11 +180,12 @@ annotationType : _annotation.annotationType.id } ) - : '#id=' + _annotation.id + : document.location.href.replace(/#.*$/,'') + '#id=' + _annotation.id ) ); var _title = (_annotation.title || "").replace(_annotation.description,''), - _description = _annotation.description; + _description = _annotation.description, + _thumbnail = (typeof _annotation.thumbnail !== "undefined" && _annotation.thumbnail ? _annotation.thumbnail : _this.default_thumbnail); if (!_annotation.title) { _title = _annotation.creator; } @@ -202,11 +203,11 @@ var _data = { id : _annotation.id, media_id : _annotation.getMedia().id, - title : IriSP.textFieldHtml(_title), - description : IriSP.textFieldHtml(_description), + htitle : IriSP.textFieldHtml(_title), + hdescription : IriSP.textFieldHtml(_description), begin : _annotation.begin.toString(), end : _annotation.end.toString(), - thumbnail : typeof _annotation.thumbnail !== "undefined" && _annotation.thumbnail ? _annotation.thumbnail : _this.default_thumbnail, + thumbnail : _thumbnail, url : _url, tags : _annotation.getTagTexts(), specific_style : (typeof _bgcolor !== "undefined" ? "background-color: " + _bgcolor : ""), @@ -229,6 +230,12 @@ _annotation.trigger("unselect"); }) .appendTo(_this.list_$); + _el.find("[draggable]").on("dragstart", function(e) { + e.originalEvent.dataTransfer.setData("text/x-iri-title",_title); + e.originalEvent.dataTransfer.setData("text/x-iri-description",_description); + e.originalEvent.dataTransfer.setData("text/x-iri-uri",_url); + e.originalEvent.dataTransfer.setData("text/x-iri-image",_thumbnail); + }); _el.on("remove", function() { _annotation.off("select", _onselect); _annotation.off("unselect", _onunselect); diff -r 566b590aaf8f -r a7efd386872a src/widgets/Polemic.js --- a/src/widgets/Polemic.js Fri Feb 08 16:38:28 2013 +0100 +++ b/src/widgets/Polemic.js Wed Feb 27 18:39:53 2013 +0100 @@ -113,7 +113,7 @@ function displayAnnotation(_elx, _ely, _pol, _col, _annotation) { var _html = Mustache.to_html( - '
      ', { id: _annotation.id, @@ -134,7 +134,14 @@ _annotation.trigger("unselect"); }).click(function() { _annotation.trigger("click"); - }); + }).on("dragstart", function(e) { + var url = (typeof _annotation.url !== "undefined" + ? _annotation.url + : (document.location.href.replace(/#.*$/,'') + '#id=' + _annotation.id)); + e.originalEvent.dataTransfer.setData("text/x-iri-title",_annotation.title); + e.originalEvent.dataTransfer.setData("text/x-iri-description",_annotation.description); + e.originalEvent.dataTransfer.setData("text/x-iri-uri",url); + }); _annotation.on("select", function() { if (_this.tooltip) { _this.tooltip.show( diff -r 566b590aaf8f -r a7efd386872a src/widgets/Segments.js --- a/src/widgets/Segments.js Fri Feb 08 16:38:28 2013 +0100 +++ b/src/widgets/Segments.js Wed Feb 27 18:39:53 2013 +0100 @@ -22,7 +22,7 @@ + '
      '; IriSP.Widgets.Segments.prototype.annotationTemplate = - '
      ' @@ -98,6 +98,14 @@ .click(function() { _annotation.trigger("click"); }) + .on("dragstart", function(e) { + var url = (typeof _annotation.url !== "undefined" + ? _annotation.url + : (document.location.href.replace(/#.*$/,'') + '#id=' + _annotation.id)); + e.originalEvent.dataTransfer.setData("text/x-iri-title",_annotation.title); + e.originalEvent.dataTransfer.setData("text/x-iri-description",_annotation.description); + e.originalEvent.dataTransfer.setData("text/x-iri-uri",url); + }) .appendTo(list_$) _annotation.on("select", function() { _this.$segments.each(function() { diff -r 566b590aaf8f -r a7efd386872a src/widgets/Social.js --- a/src/widgets/Social.js Fri Feb 08 16:38:28 2013 +0100 +++ b/src/widgets/Social.js Wed Feb 27 18:39:53 2013 +0100 @@ -18,7 +18,7 @@ } IriSP.Widgets.Social.prototype.template = - '{{#show_url}}
      ' + '{{#show_url}}
      ' + '
      {{l10n.copy}}
      {{/show_url}}' + '{{#show_fb}}{{/show_fb}}' + '{{#show_twitter}}{{/show_twitter}}' @@ -48,6 +48,9 @@ this.$.find(".Ldt-Social-Url").click(function() { _this.toggleCopy(); return false; + }).on("dragstart", function(e) { + e.originalEvent.dataTransfer.setData("text/x-iri-title",_this.text); + e.originalEvent.dataTransfer.setData("text/x-iri-uri",_this.url); }); this.$.find(".Ldt-Social-Input").focus(function() { this.select();