diff --git a/scripts/dnd.js b/scripts/dnd.js index 4875cf89..0f38f018 100644 --- a/scripts/dnd.js +++ b/scripts/dnd.js @@ -1,31 +1,87 @@ /********************************************************************\ - - Name: dnd.js - Created by: Stefan Ritt - - Contents: JavaScript code for Drag & Drop interface - -\********************************************************************/ + + Name: dnd.js + Created by: Stefan Ritt + + Contents: JavaScript code for Drag & Drop interface + + \********************************************************************/ function XMLHttpRequestGeneric() { - var request; - try { - request = new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari - } - catch (e) { - try { - request = new ActiveXObject('Msxml2.XMLHTTP'); // Internet Explorer - } - catch (e) { + var request; + try { + request = new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari + } + catch (e) { try { - request = new ActiveXObject('Microsoft.XMLHTTP'); + request = new ActiveXObject('Msxml2.XMLHTTP'); // Internet Explorer } catch (e) { - alert('Your browser does not support AJAX!'); - return undefined; + try { + request = new ActiveXObject('Microsoft.XMLHTTP'); + } + catch (e) { + alert('Your browser does not support AJAX!'); + return undefined; + } } - } - } - return request; + } + return request; +} + +// getElementById +function $id(id) { + return document.getElementById(id); +} + +function drag(e) +{ + console.log('drag'); +} + +function dragover(e) +{ + e.dataTransfer.dropEffect = 'copy'; + e.preventDefault(); +} + +function dragenter(e) +{ + e.stopPropagation(); + e.preventDefault(); + $id('holder').style.border = '6px dashed #0c0'; + console.log('dragenter'); +} + +function dragleave(e) +{ + e.stopPropagation(); + e.preventDefault(); + $id('holder').style.border = '6px dashed #ccc'; + console.log('dragleave'); +} + +function drop(e) +{ + e.stopPropagation(); + e.preventDefault(); + console.log('drop'); +} + +function dndInit() +{ + document.body.addEventListener('dragover', function(e) { + e.preventDefault(); + }); + document.body.addEventListener('drop', function(e) { + e.preventDefault(); + }); + + d = $id('holder'); + d.addEventListener('drag', drag); + d.addEventListener('dragover', dragover); + d.addEventListener('dragenter', dragenter); + d.addEventListener('dragleave', dragleave); + d.addEventListener('drop', drop); } diff --git a/src/elogd.c b/src/elogd.c index b4ad0538..69ca61ae 100755 --- a/src/elogd.c +++ b/src/elogd.c @@ -10383,7 +10383,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL !getcfg(lbs->name, "Message width", str, sizeof(str))) strcat(script_onload, "init_resize();"); } - strcat(script_onload, "checkText();"); + strcat(script_onload, "checkText();dndInit();"); script_onunload[0] = 0; if (getcfg(lbs->name, "Use Lock", str, sizeof(str)) && atoi(str) == 1) @@ -11936,8 +11936,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL // print the holder for dropping attachments rsprintf("
%s