--- webfm.js 2008-04-08 08:28:14.000000000 +0200 +++ webfm.js.paste_href 2008-04-18 13:57:08.000000000 +0200 @@ -99,6 +99,7 @@ Webfm.menu_msg["denum"] = "Remove file from database"; Webfm.menu_msg["perm"] = "File permissions"; Webfm.menu_msg["clip"] = "put link in clipboard"; +Webfm.menu_msg["paste"] = "Paste link in editor window"; //Do not translate any code below this line Webfm.current = null; @@ -299,6 +300,7 @@ Webfm.menuHT.put('file', new Webfm.menuElement(Webfm.menu_msg["att"], Webfm.menuAttach, Webfm.menuFidVal)); Webfm.menuHT.put('det', new Webfm.menuElement(Webfm.menu_msg["meta"], Webfm.menuGetMeta, '')); Webfm.menuHT.put('det', new Webfm.menuElement(Webfm.menu_msg["det"], Webfm.menuDetach, '')); + Webfm.menuHT.put('det', new Webfm.menuElement(Webfm.menu_msg["paste"], Webfm.menuPasteHref, '')); } catch(err) { alert("Menu Create err\n" + err); } @@ -1905,10 +1907,37 @@ } } -Webfm.menuPutLinkInClipboard = function(obj) { +Webfm.generateFileHref = function(obj) { var url = getBaseUrl(); var string = "" + obj.element.title.substring(obj.element.title.lastIndexOf("/")+1) + ""; - Webfm.copyToClipboard(string); + return string; +} + +Webfm.menuPutLinkInClipboard = function(obj) { + Webfm.copyToClipboard(Webfm.generateFileHref(obj)); +} + +Webfm.menuPasteHref = function(obj) { + var fileHref = Webfm.generateFileHref(obj); + + // should we rely on a fixed string 'edit-body'? Can we fetch this id somehow via drupal? + var myField = document.getElementById('edit-body'); + + //IE support + if (document.selection) { + myField.focus(); + sel = document.selection.createRange(); + sel.text = fileHref; + } + //other browsers + else if (myField.selectionStart || myField.selectionStart == '0') { + var startPos = myField.selectionStart; + var endPos = myField.selectionEnd; + myField.value = myField.value.substring(0, startPos)+ fileHref + myField.value.substring(endPos, myField.value.length); + } else { + myField.value += fileHref; + } + } Webfm.menuAdmin = function() {