diff --git a/CHANGELOG b/CHANGELOG index f045965a4..f7b06a08d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -68,6 +68,8 @@ Changes in version 4.3.30 -------------------------------------------------------------------------------- - fix adding new workflows +- fix moving documents/folders via drag&drop in Edge (Closes #286) +- upate folder tree after moving a document/folder with drag&drop (Closes #288) -------------------------------------------------------------------------------- Changes in version 4.3.29 diff --git a/styles/bootstrap/application.js b/styles/bootstrap/application.js index d87d0f0d3..6cf531030 100644 --- a/styles/bootstrap/application.js +++ b/styles/bootstrap/application.js @@ -240,6 +240,7 @@ $(document).ready( function() { { command: 'movefolder', folderid: attr_source, targetfolderid: attr_dest, formtoken: attr_formtoken }, function(data) { if(data.success) { + $('#table-row-folder-'+attr_source).hide('slow'); noty({ text: data.msg, type: data.success ? 'success' : 'error', @@ -264,6 +265,7 @@ $(document).ready( function() { { command: 'movedocument', docid: attr_source, targetfolderid: attr_dest, formtoken: attr_formtoken }, function(data) { if(data.success) { + $('#table-row-document-'+attr_source).hide('slow'); noty({ text: data.msg, type: data.success ? 'success' : 'error', @@ -410,8 +412,12 @@ $(document).ready( function() { function onAddClipboard(ev) { /* {{{ */ ev.preventDefault(); - source_type = ev.originalEvent.dataTransfer.getData("type"); - source_id = ev.originalEvent.dataTransfer.getData("id"); + var source_info = JSON.parse(e.originalEvent.dataTransfer.getData("text")); + source_type = source_info.type; + source_id = source_info.id; + formtoken = source_info.formtoken; +// source_type = ev.originalEvent.dataTransfer.getData("type"); +// source_id = ev.originalEvent.dataTransfer.getData("id"); if(source_type == 'document' || source_type == 'folder') { $.get('../op/op.Ajax.php', { command: 'addtoclipboard', type: source_type, id: source_id }, @@ -643,9 +649,13 @@ $(document).ready(function() { attr_rel = $(e.currentTarget).attr('rel'); target_type = attr_rel.split("_")[0]; target_id = attr_rel.split("_")[1]; - source_type = e.originalEvent.dataTransfer.getData("type"); - source_id = e.originalEvent.dataTransfer.getData("id"); - formtoken = e.originalEvent.dataTransfer.getData("formtoken"); + var source_info = JSON.parse(e.originalEvent.dataTransfer.getData("text")); + source_type = source_info.type; + source_id = source_info.id; + formtoken = source_info.formtoken; +// source_type = e.originalEvent.dataTransfer.getData("type"); +// source_id = e.originalEvent.dataTransfer.getData("id"); +// formtoken = e.originalEvent.dataTransfer.getData("formtoken"); if(source_type == 'document') { bootbox.dialog(trans.confirm_move_document, [{ "label" : " "+trans.move_document, @@ -655,6 +665,7 @@ $(document).ready(function() { { command: 'movedocument', docid: source_id, targetfolderid: target_id, formtoken: formtoken }, function(data) { if(data.success) { + $('#table-row-document-'+source_id).hide('slow'); noty({ text: data.message, type: 'success', @@ -695,6 +706,7 @@ $(document).ready(function() { { command: 'movefolder', folderid: source_id, targetfolderid: target_id, formtoken: formtoken }, function(data) { if(data.success) { + $('#table-row-folder-'+source_id).hide('slow'); noty({ text: data.message, type: 'success', @@ -732,18 +744,30 @@ $(document).ready(function() { attr_rel = $(e.target).attr('rel'); if(typeof attr_rel == 'undefined') return; - e.originalEvent.dataTransfer.setData("id", attr_rel.split("_")[1]); - e.originalEvent.dataTransfer.setData("type","folder"); - e.originalEvent.dataTransfer.setData("formtoken", $(e.target).attr('formtoken')); + var dragStartInfo = { + id : attr_rel.split("_")[1], + type : "folder", + formtoken : $(e.target).attr('formtoken') + }; + e.originalEvent.dataTransfer.setData("text", JSON.stringify(dragStartInfo)); +// e.originalEvent.dataTransfer.setData("id", attr_rel.split("_")[1]); +// e.originalEvent.dataTransfer.setData("type","folder"); +// e.originalEvent.dataTransfer.setData("formtoken", $(e.target).attr('formtoken')); }); $(document).on('dragstart', '.table-row-document', function (e) { attr_rel = $(e.target).attr('rel'); if(typeof attr_rel == 'undefined') return; - e.originalEvent.dataTransfer.setData("id", attr_rel.split("_")[1]); - e.originalEvent.dataTransfer.setData("type","document"); - e.originalEvent.dataTransfer.setData("formtoken", $(e.target).attr('formtoken')); + var dragStartInfo = { + id : attr_rel.split("_")[1], + type : "document", + formtoken : $(e.target).attr('formtoken') + }; + e.originalEvent.dataTransfer.setData("text", JSON.stringify(dragStartInfo)); +// e.originalEvent.dataTransfer.setData("id", attr_rel.split("_")[1]); +// e.originalEvent.dataTransfer.setData("type","document"); +// e.originalEvent.dataTransfer.setData("formtoken", $(e.target).attr('formtoken')); }); /* Dropping item on alert below clipboard */ @@ -792,9 +816,13 @@ $(document).ready(function() { $(e.target).parent().css('border', '0px solid white'); target_type = attr_rel.split("_")[0]; target_id = attr_rel.split("_")[1]; - source_type = e.originalEvent.dataTransfer.getData("type"); - source_id = e.originalEvent.dataTransfer.getData("id"); - formtoken = e.originalEvent.dataTransfer.getData("formtoken"); + var source_info = JSON.parse(e.originalEvent.dataTransfer.getData("text")); + source_type = source_info.type; + source_id = source_info.id; + formtoken = source_info.formtoken; +// source_type = e.originalEvent.dataTransfer.getData("type"); +// source_id = e.originalEvent.dataTransfer.getData("id"); +// formtoken = e.originalEvent.dataTransfer.getData("formtoken"); if(source_type == 'document') { bootbox.dialog(trans.confirm_move_document, [{ "label" : " "+trans.move_document, @@ -804,6 +832,7 @@ $(document).ready(function() { { command: 'movedocument', docid: source_id, targetfolderid: target_id, formtoken: formtoken }, function(data) { if(data.success) { + $('#table-row-document-'+source_id).hide('slow'); noty({ text: data.message, type: 'success', @@ -844,6 +873,7 @@ $(document).ready(function() { { command: 'movefolder', folderid: source_id, targetfolderid: target_id, formtoken: formtoken }, function(data) { if(data.success) { + $('#table-row-folder-'+source_id).hide('slow'); noty({ text: data.message, type: 'success',