var f = document.forms[0], ed = tinyMCEPopup.editor, e, b;\r
\r
tinyMCEPopup.restoreSelection();\r
+ e = ed.dom.getParent(ed.selection.getNode(), 'A');\r
\r
// Remove element if there is no href\r
if (!f.href.value) {\r
- e = ed.dom.getParent(ed.selection.getNode(), 'A');\r
if (e) {\r
tinyMCEPopup.execCommand("mceBeginUndoLevel");\r
b = ed.selection.getBookmark();\r
}\r
}\r
\r
- ed.execCommand('mceInsertLink', false, {\r
- href : f.href.value,\r
- title : f.linktitle.value,\r
- target : f.target_list ? f.target_list.options[f.target_list.selectedIndex].value : null,\r
- 'class' : f.class_list ? f.class_list.options[f.class_list.selectedIndex].value : null\r
- });\r
+ tinyMCEPopup.execCommand("mceBeginUndoLevel");\r
\r
+ // Create new anchor elements\r
+ if (e == null) {\r
+ tinyMCEPopup.execCommand("CreateLink", false, "#mce_temp_url#", {skip_undo : 1});\r
+\r
+ tinymce.each(ed.dom.select("a"), function(n) {\r
+ if (ed.dom.getAttrib(n, 'href') == '#mce_temp_url#') {\r
+ e = n;\r
+\r
+ ed.dom.setAttribs(e, {\r
+ href : f.href.value,\r
+ title : f.linktitle.value,\r
+ target : f.target_list ? f.target_list.options[f.target_list.selectedIndex].value : null,\r
+ 'class' : f.class_list ? f.class_list.options[f.class_list.selectedIndex].value : null\r
+ });\r
+ }\r
+ });\r
+ } else {\r
+ ed.dom.setAttribs(e, {\r
+ href : f.href.value,\r
+ title : f.linktitle.value,\r
+ target : f.target_list ? f.target_list.options[f.target_list.selectedIndex].value : null,\r
+ 'class' : f.class_list ? f.class_list.options[f.class_list.selectedIndex].value : null\r
+ });\r
+ }\r
+\r
+ // Don't move caret if selection was image\r
+ if (e.childNodes.length != 1 || e.firstChild.nodeName != 'IMG') {\r
+ ed.focus();\r
+ ed.selection.select(e);\r
+ ed.selection.collapse(0);\r
+ tinyMCEPopup.storeSelection();\r
+ }\r
+\r
+ tinyMCEPopup.execCommand("mceEndUndoLevel");\r
tinyMCEPopup.close();\r
},\r
\r