| Current Path : /home/azimutno/www/components/com_jce/editor/tiny_mce/plugins/link/ |
| Current File : /home/azimutno/www/components/com_jce/editor/tiny_mce/plugins/link/editor_plugin.js |
/* jce - 2.8.1 | 2019-12-04 | https://www.joomlacontenteditor.net | Copyright (C) 2006 - 2019 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */
!function(){var DOM=tinymce.DOM;tinymce.dom.Event;tinymce.create("tinymce.plugins.LinkPlugin",{init:function(ed,url){function isLink(n){return!!n&&(n=ed.dom.getParent(n,"A"),n&&isAnchor(n)===!1)}function isAnchor(n){return ed.dom.hasClass(n,"mce-item-anchor")}this.editor=ed,this.url=url,ed.addCommand("mceLink",function(){var se=ed.selection,n=se.getNode();"A"!=n.nodeName||isAnchor(n)||se.select(n),ed.windowManager.open({file:ed.getParam("site_url")+"index.php?option=com_jce&task=plugin.display&plugin=link",width:600+ed.getLang("link.delta_width",0),height:600+ed.getLang("link.delta_height",0),inline:1,popup_css:!1,size:"mce-modal-portrait-large"},{plugin_url:url})}),ed.addShortcut("ctrl+k","link.desc","mceLink"),ed.onInit.add(function(){ed&&ed.plugins.contextmenu&&ed.plugins.contextmenu.onContextMenu.add(function(th,m,e){m.addSeparator(),m.add({title:"link.desc",icon:"link",cmd:"mceLink",ui:!0}),"A"!=e.nodeName||ed.dom.getAttrib(e,"name")||m.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"})})}),ed.onNodeChange.add(function(ed,cm,n,co){var link=isLink(n),anchor=isAnchor(n);cm.setActive("unlink",link),cm.setActive("link",link),cm.setDisabled("link",anchor),cm.setDisabled("unlink",!link)})},createControl:function(n,cm){function insertLink(value){if(!value)return void ed.execCommand("unlink",!1);var args={href:value},params=ed.getParam("link",{});args=tinymce.extend(args,params),ed.selection.isCollapsed()?ed.execCommand("mceInsertContent",!1,ed.dom.createHTML("a",args,value)):ed.execCommand("mceInsertLink",!1,args),ed.undoManager.add(),ed.nodeChanged()}var ed=this.editor;if("link"!==n)return null;var html='<div class="mceToolbarRow"> <div class="mceToolbarItem mceFlexAuto"> <input type="text" id="'+ed.id+'_link_input" aria-label="'+ed.getLang("link.href","URL")+'" /> </div> <div class="mceToolbarItem"> <button type="button" id="'+ed.id+'_link_submit" class="mceButton mceButtonLink" title="'+ed.getLang("link.insert","Insert Link")+'" aria-label="'+ed.getLang("link.insert","Insert Link")+'"> <span class="mceIcon mce_link"></span> </button> </div> <div class="mceToolbarItem"> <button type="button" id="'+ed.id+'_link_unlink" class="mceButton mceButtonUnlink" disabled="disabled" title="'+ed.getLang("link.unlink","Remove Link")+'" aria-label="'+ed.getLang("link.unlink","Remove Link")+'"> <span class="mceIcon mce_unlink"></span> </button> </div></div>',ctrl=cm.createSplitButton("link",{title:"link.desc",cmd:"mceLink",max_width:264,onselect:function(value){insertLink(value)}});return ctrl.onRenderMenu.add(function(c,m){m.add({onclick:function(e){e.preventDefault();var n=ed.dom.getParent(e.target,".mceButton");if(!n.disabled){if(ed.dom.hasClass(n,"mceButtonLink")){var value=DOM.getValue(ed.id+"_link_input");insertLink(value)}ed.dom.hasClass(n,"mceButtonUnlink")&&ed.execCommand("unlink",!1),m.hideMenu()}},html:html}),m.onShowMenu.add(function(){var selection=ed.selection,value="";if(DOM.setAttrib(ed.id+"_link_unlink","disabled","disabled"),!selection.isCollapsed()){var node=selection.getNode();node=ed.dom.getParent(node,"A")||node,"A"===node.nodeName&&(value=node.getAttribute("href"),DOM.setAttrib(ed.id+"_link_unlink","disabled",null))}window.setTimeout(function(){DOM.get(ed.id+"_link_input").focus()},10),DOM.setValue(ed.id+"_link_input",value)})}),ctrl}}),tinymce.PluginManager.add("link",tinymce.plugins.LinkPlugin)}();