engine/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Link/plugin.js

7 lines
9.6 KiB
JavaScript
Raw Normal View History

/*
* Aloha Editor
* Author & Copyright (c) 2010 Gentics Software GmbH
* aloha-sales@gentics.com
* Licensed unter the terms of http://www.aloha-editor.com/license.html
*/
GENTICS.Aloha.Link=new GENTICS.Aloha.Plugin("com.gentics.aloha.plugins.Link");GENTICS.Aloha.Link.languages=["en","de","fr"];GENTICS.Aloha.Link.config=["a"];GENTICS.Aloha.Link.targetregex="";GENTICS.Aloha.Link.target="";GENTICS.Aloha.Link.cssclassregex="";GENTICS.Aloha.Link.cssclass="";GENTICS.Aloha.Link.mouseOverLink=null;GENTICS.Aloha.Link.ressource=null;GENTICS.Aloha.Link.init=function(){if(GENTICS.Aloha.Link.settings.targetregex!=undefined){GENTICS.Aloha.Link.targetregex=GENTICS.Aloha.Link.settings.targetregex}if(GENTICS.Aloha.Link.settings.target!=undefined){GENTICS.Aloha.Link.target=GENTICS.Aloha.Link.settings.target}if(GENTICS.Aloha.Link.settings.cssclassregex!=undefined){GENTICS.Aloha.Link.cssclassregex=GENTICS.Aloha.Link.settings.cssclassregex}if(GENTICS.Aloha.Link.settings.cssclass!=undefined){GENTICS.Aloha.Link.cssclass=GENTICS.Aloha.Link.settings.cssclass}if(GENTICS.Aloha.Link.settings.ressource!=undefined){GENTICS.Aloha.Link.ressource=GENTICS.Aloha.Link.settings.ressource}this.initButtons();this.subscribeEvents();this.bindInteractions()};GENTICS.Aloha.Link.initButtons=function(){var that=this;this.formatLinkButton=new GENTICS.Aloha.ui.Button({iconClass:"GENTICS_button GENTICS_button_a",size:"small",onclick:function(){that.formatLink()},tooltip:this.i18n("button.addlink.tooltip"),toggle:true});GENTICS.Aloha.FloatingMenu.addButton("GENTICS.Aloha.continuoustext",this.formatLinkButton,GENTICS.Aloha.i18n(GENTICS.Aloha,"floatingmenu.tab.format"),1);this.insertLinkButton=new GENTICS.Aloha.ui.Button({iconClass:"GENTICS_button GENTICS_button_a",size:"small",onclick:function(){that.insertLink(false)},tooltip:this.i18n("button.addlink.tooltip"),toggle:false});GENTICS.Aloha.FloatingMenu.addButton("GENTICS.Aloha.continuoustext",this.insertLinkButton,GENTICS.Aloha.i18n(GENTICS.Aloha,"floatingmenu.tab.insert"),1);GENTICS.Aloha.FloatingMenu.createScope(this.getUID("link"),"GENTICS.Aloha.continuoustext");this.srcFieldButton=new GENTICS.Aloha.Link.SrcField();GENTICS.Aloha.FloatingMenu.addButton(this.getUID("link"),this.srcFieldButton,this.i18n("floatingmenu.tab.link"),1);GENTICS.Aloha.FloatingMenu.addButton(this.getUID("link"),new GENTICS.Aloha.ui.Button({iconClass:"GENTICS_button GENTICS_button_a_remove",size:"small",onclick:function(){that.removeLink()},tooltip:this.i18n("button.removelink.tooltip")}),this.i18n("floatingmenu.tab.link"),1)};GENTICS.Aloha.Link.bindInteractions=function(){var that=this;for(var i=0;i<GENTICS.Aloha.editables.length;i++){GENTICS.Aloha.editables[i].obj.keydown(function(e){if((that.isCrtlDown||that.isMetaDown)&&e.which==76){if(that.findLinkMarkup()){GENTICS.Aloha.FloatingMenu.userActivatedTab=that.i18n("floatingmenu.tab.link");GENTICS.Aloha.FloatingMenu.doLayout();that.srcFieldButton.focus()}else{that.insertLink()}return false}});GENTICS.Aloha.editables[i].obj.find("a").each(function(i){jQuery(this).mouseenter(function(e){GENTICS.Aloha.Log.debug(GENTICS.Aloha.Link,"mouse over link.");that.mouseOverLink=this;that.updateMousePointer()});jQuery(this).mouseleave(function(e){GENTICS.Aloha.Log.debug(GENTICS.Aloha.Link,"mouse left link.");that.moseOverLink=null;that.updateMousePointer()});jQuery(this).click(function(e){if(e.metaKey||e.ctrlKey){GENTICS.Aloha.activeEditable.blur();setTimeout(function(){location.href=e.target},0);e.stopPropagation();return false}})})}jQuery(document).keyup(function(e){switch(e.which){case 17:GENTICS.Aloha.Log.debug(GENTICS.Aloha.Link,"ctrl up");that.isCtrlDown=false;that.updateMousePointer();break;case 91:that.isMetaLDown=false;if(!that.isMetaRDown){that.isMetaDown=false;GENTICS.Aloha.Log.debug(GENTICS.Aloha.Link,"meta up")}that.updateMousePointer();break;case 93:that.isMetaRDown=false;if(!that.isMetaLDown){that.isMetaDown=false;GENTICS.Aloha.Log.debug(GENTICS.Aloha.Link,"meta up")}that.updateMousePointer();break}});jQuery(document).keydown(function(e){switch(e.which){case 17:GENTICS.Aloha.Log.debug(GENTICS.Aloha.Link,"meta ctrl");that.isCtrlDown=true;that.updateMousePointer();break;case 91:GENTICS.Aloha.Log.debug(GENTICS.Aloha.Link,"meta down");that.isMetaLDown=true;that.is