<%- ext = File.extname(@filename).gsub(/\?\d+/, '') ext = (ext.blank? ? 'generic' : ext.gsub(/\./, '')) -%> <%= javascript_tag <<-EOF var curInst = dojo.widget.Editor2Manager.getCurrentInstance(); var linkNode = dojo.withGlobal(curInst.window, "getAncestorElement", dojo.html.selection, ['a']); var html = ''; curInst.restoreSelection(); var removeInvalidTags = function(html) { var el = document.createElement('div'); el.innerHTML = html; ['script', 'title'].forEach(function(tag) { el.querySelectorAll(tag).forEach(function(del) { del.remove(); }); }); return el.innerHTML; }; if (!linkNode) { html = dojo.withGlobal(curInst.window, 'getSelectedHtml', dojo.html.selection); } else { html = linkNode.innerHTML; dojo.withGlobal(curInst.window, 'selectElement', dojo.html.selection, [linkNode]); } html = removeInvalidTags(html).trim(); if (html === '') html = "Link Text"; curInst.execCommand('inserthtml', ''+html+''); cancelInsertFile(); EOF %>