X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=plugins%2Flink%2Fdialogs%2Flink.js;h=ba5a88c1336adbbe0824006cd2f0d155b40e4cf1;hb=484c93d1e1a5a219e2899c566dae48300105f3ed;hp=c567e2ab1d383a4299d6f9d96fae460e98bf6cb2;hpb=059b4c2fef02528bf1af189f7996e80652faddfb;p=ckeditor.git diff --git a/plugins/link/dialogs/link.js b/plugins/link/dialogs/link.js index c567e2a..ba5a88c 100644 --- a/plugins/link/dialogs/link.js +++ b/plugins/link/dialogs/link.js @@ -1,11 +1,26 @@ -/* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.dialog.add('link',function(a){var b=function(){var B=this.getDialog(),C=B.getContentElement('target','popupFeatures'),D=B.getContentElement('target','linkTargetName'),E=this.getValue();if(!C||!D)return;C=C.getElement();C.hide();D.setValue('');switch(E){case 'frame':D.setLabel(a.lang.link.targetFrameName);D.getElement().show();break;case 'popup':C.show();D.setLabel(a.lang.link.targetPopupName);D.getElement().show();break;default:D.setValue(E);D.getElement().hide();break;}},c=function(){var B=this.getDialog(),C=['urlOptions','anchorOptions','emailOptions'],D=this.getValue(),E=B.definition.getContents('upload'),F=E&&E.hidden;if(D=='url'){if(a.config.linkShowTargetTab)B.showPage('target');if(!F)B.showPage('upload');}else{B.hidePage('target');if(!F)B.hidePage('upload');}for(var G=0;G0&&C.push(',');C.push("'",G?w(encodeURIComponent(B[F])):'',"'");}C.push(')');return C.join('');};function A(B){var C,D=B.length,E=[];for(var F=0;F','']],setup:function(B){if(B.url)this.setValue(B.url.protocol||''); -},commit:function(B){if(!B.url)B.url={};B.url.protocol=this.getValue();}},{type:'text',id:'url',label:a.lang.common.url,required:true,onLoad:function(){this.allowOnChange=true;},onKeyUp:function(){var G=this;G.allowOnChange=false;var B=G.getDialog().getContentElement('info','protocol'),C=G.getValue(),D=/^(http|https|ftp|news):\/\/(?=.)/gi,E=/^((javascript:)|[#\/\.])/gi,F=D.exec(C);if(F){G.setValue(C.substr(F[0].length));B.setValue(F[0].toLowerCase());}else if(E.test(C))B.setValue('');G.allowOnChange=true;},onChange:function(){if(this.allowOnChange)this.onKeyUp();},validate:function(){var B=this.getDialog();if(B.getContentElement('info','linkType')&&B.getValueOf('info','linkType')!='url')return true;if(this.getDialog().fakeObj)return true;var C=CKEDITOR.dialog.validate.notEmpty(a.lang.link.noUrl);return C.apply(this);},setup:function(B){this.allowOnChange=false;if(B.url)this.setValue(B.url.url);this.allowOnChange=true;},commit:function(B){this.onChange();if(!B.url)B.url={};B.url.url=this.getValue();this.allowOnChange=false;}}],setup:function(B){if(!this.getDialog().getContentElement('info','linkType'))this.getElement().show();}},{type:'button',id:'browse',hidden:'true',filebrowser:'info:url',label:a.lang.common.browseServer}]},{type:'vbox',id:'anchorOptions',width:260,align:'center',padding:0,children:[{type:'fieldset',id:'selectAnchorText',label:a.lang.link.selectAnchor,setup:function(B){if(B.anchors.length>0)this.getElement().show();else this.getElement().hide();},children:[{type:'hbox',id:'selectAnchor',children:[{type:'select',id:'anchorName','default':'',label:a.lang.link.anchorName,style:'width: 100%;',items:[['']],setup:function(B){var E=this;E.clear();E.add('');for(var C=0;C0)this.getElement().show();else this.getElement().hide();}}]},{type:'html',id:'noAnchors',style:'text-align: center;',html:'
'+CKEDITOR.tools.htmlEncode(a.lang.link.noAnchors)+'
',focus:true,setup:function(B){if(B.anchors.length<1)this.getElement().show(); -else this.getElement().hide();}}],setup:function(B){if(!this.getDialog().getContentElement('info','linkType'))this.getElement().hide();}},{type:'vbox',id:'emailOptions',padding:1,children:[{type:'text',id:'emailAddress',label:a.lang.link.emailAddress,required:true,validate:function(){var B=this.getDialog();if(!B.getContentElement('info','linkType')||B.getValueOf('info','linkType')!='email')return true;var C=CKEDITOR.dialog.validate.notEmpty(a.lang.link.noEmail);return C.apply(this);},setup:function(B){if(B.email)this.setValue(B.email.address);var C=this.getDialog().getContentElement('info','linkType');if(C&&C.getValue()=='email')this.select();},commit:function(B){if(!B.email)B.email={};B.email.address=this.getValue();}},{type:'text',id:'emailSubject',label:a.lang.link.emailSubject,setup:function(B){if(B.email)this.setValue(B.email.subject);},commit:function(B){if(!B.email)B.email={};B.email.subject=this.getValue();}},{type:'textarea',id:'emailBody',label:a.lang.link.emailBody,rows:3,'default':'',setup:function(B){if(B.email)this.setValue(B.email.body);},commit:function(B){if(!B.email)B.email={};B.email.body=this.getValue();}}],setup:function(B){if(!this.getDialog().getContentElement('info','linkType'))this.getElement().hide();}}]},{id:'target',label:a.lang.link.target,title:a.lang.link.target,elements:[{type:'hbox',widths:['50%','50%'],children:[{type:'select',id:'linkTargetType',label:a.lang.common.target,'default':'notSet',style:'width : 100%;',items:[[a.lang.common.notSet,'notSet'],[a.lang.link.targetFrame,'frame'],[a.lang.link.targetPopup,'popup'],[a.lang.common.targetNew,'_blank'],[a.lang.common.targetTop,'_top'],[a.lang.common.targetSelf,'_self'],[a.lang.common.targetParent,'_parent']],onChange:b,setup:function(B){if(B.target)this.setValue(B.target.type);},commit:function(B){if(!B.target)B.target={};B.target.type=this.getValue();}},{type:'text',id:'linkTargetName',label:a.lang.link.targetFrameName,'default':'',setup:function(B){if(B.target)this.setValue(B.target.name);},commit:function(B){if(!B.target)B.target={};B.target.name=this.getValue();}}]},{type:'vbox',width:260,align:'center',padding:2,id:'popupFeatures',children:[{type:'fieldset',label:a.lang.link.popupFeatures,children:[{type:'hbox',children:[{type:'checkbox',id:'resizable',label:a.lang.link.popupResizable,setup:q,commit:t},{type:'checkbox',id:'status',label:a.lang.link.popupStatusBar,setup:q,commit:t}]},{type:'hbox',children:[{type:'checkbox',id:'location',label:a.lang.link.popupLocationBar,setup:q,commit:t},{type:'checkbox',id:'toolbar',label:a.lang.link.popupToolbar,setup:q,commit:t}]},{type:'hbox',children:[{type:'checkbox',id:'menubar',label:a.lang.link.popupMenuBar,setup:q,commit:t},{type:'checkbox',id:'fullscreen',label:a.lang.link.popupFullScreen,setup:q,commit:t}]},{type:'hbox',children:[{type:'checkbox',id:'scrollbars',label:a.lang.link.popupScrollBars,setup:q,commit:t},{type:'checkbox',id:'dependent',label:a.lang.link.popupDependent,setup:q,commit:t}]},{type:'hbox',children:[{type:'text',widths:['30%','70%'],labelLayout:'horizontal',label:a.lang.link.popupWidth,id:'width',setup:q,commit:t},{type:'text',labelLayout:'horizontal',widths:['55%','45%'],label:a.lang.link.popupLeft,id:'left',setup:q,commit:t}]},{type:'hbox',children:[{type:'text',labelLayout:'horizontal',widths:['30%','70%'],label:a.lang.link.popupHeight,id:'height',setup:q,commit:t},{type:'text',labelLayout:'horizontal',label:a.lang.link.popupTop,widths:['55%','45%'],id:'top',setup:q,commit:t}]}]}]}]},{id:'upload',label:a.lang.link.upload,title:a.lang.link.upload,hidden:true,filebrowser:'uploadButton',elements:[{type:'file',id:'upload',label:a.lang.common.upload,style:'height:40px',size:29},{type:'fileButton',id:'uploadButton',label:a.lang.common.uploadSubmit,filebrowser:'info:url','for':['upload','upload']}]},{id:'advanced',label:a.lang.link.advanced,title:a.lang.link.advanced,elements:[{type:'vbox',padding:1,children:[{type:'hbox',widths:['45%','35%','20%'],children:[{type:'text',id:'advId',label:a.lang.link.id,setup:r,commit:u},{type:'select',id:'advLangDir',label:a.lang.link.langDir,'default':'',style:'width:110px',items:[[a.lang.common.notSet,''],[a.lang.link.langDirLTR,'ltr'],[a.lang.link.langDirRTL,'rtl']],setup:r,commit:u},{type:'text',id:'advAccessKey',width:'80px',label:a.lang.link.acccessKey,maxLength:1,setup:r,commit:u}]},{type:'hbox',widths:['45%','35%','20%'],children:[{type:'text',label:a.lang.link.name,id:'advName',setup:r,commit:u},{type:'text',label:a.lang.link.langCode,id:'advLangCode',width:'110px','default':'',setup:r,commit:u},{type:'text',label:a.lang.link.tabIndex,id:'advTabIndex',width:'80px',maxLength:5,setup:r,commit:u}]}]},{type:'vbox',padding:1,children:[{type:'hbox',widths:['45%','55%'],children:[{type:'text',label:a.lang.link.advisoryTitle,'default':'',id:'advTitle',setup:r,commit:u},{type:'text',label:a.lang.link.advisoryContentType,'default':'',id:'advContentType',setup:r,commit:u}]},{type:'hbox',widths:['45%','55%'],children:[{type:'text',label:a.lang.link.cssClasses,'default':'',id:'advCSSClasses',setup:r,commit:u},{type:'text',label:a.lang.link.charset,'default':'',id:'advCharset',setup:r,commit:u}]},{type:'hbox',children:[{type:'text',label:a.lang.link.styles,'default':'',id:'advStyles',setup:r,commit:u}]}]}]}],onShow:function(){var H=this; -H.fakeObj=false;var B=H.getParentEditor(),C=B.getSelection(),D=C.getRanges(),E=null,F=H;if(D.length==1){var G=D[0].getCommonAncestor(true);E=G.getAscendant('a',true);if(E&&E.getAttribute('href'))C.selectElement(E);else if((E=G.getAscendant('img',true))&&E.getAttribute('_cke_real_element_type')&&E.getAttribute('_cke_real_element_type')=='anchor'){H.fakeObj=E;E=B.restoreRealElement(H.fakeObj);C.selectElement(H.fakeObj);}else E=null;}H.setupContent(o.apply(H,[B,E]));},onOk:function(){var B={href:'javascript:void(0)/*'+CKEDITOR.tools.getNextNumber()+'*/'},C=[],D={href:B.href},E=this,F=this.getParentEditor();this.commitContent(D);switch(D.type||'url'){case 'url':var G=D.url&&D.url.protocol!=undefined?D.url.protocol:'http://',H=D.url&&D.url.url||'';B._cke_saved_href=H.indexOf('/')===0?H:G+H;break;case 'anchor':var I=D.anchor&&D.anchor.name,J=D.anchor&&D.anchor.id;B._cke_saved_href='#'+(I||J||'');break;case 'email':var K,L=D.email,M=L.address;switch(x){case '':case 'encode':var N=encodeURIComponent(L.subject||''),O=encodeURIComponent(L.body||''),P=[];N&&P.push('subject='+N);O&&P.push('body='+O);P=P.length?'?'+P.join('&'):'';if(x=='encode'){K=["javascript:void(location.href='mailto:'+",A(M)];P&&K.push("+'",w(P),"'");K.push(')');}else K=['mailto:',M,P];break;default:var Q=M.split('@',2);L.name=Q[0];L.domain=Q[1];K=['javascript:',z(L)];}B._cke_saved_href=K.join('');break;}if(D.target)if(D.target.type=='popup'){var R=["window.open(this.href, '",D.target.name||'',"', '"],S=['resizable','status','location','toolbar','menubar','fullscreen','scrollbars','dependent'],T=S.length,U=function(ag){if(D.target[ag])S.push(ag+'='+D.target[ag]);};for(var V=0;V',F.document);X=F.getSelection();ac.moveChildren(af);ac.copyAttributes(af,{name:1});af.replace(ac);ac=af;X.selectElement(ac);}ac.setAttributes(B);ac.removeAttributes(C);if(ad==ae)ac.setHtml(B._cke_saved_href);if(ac.getAttribute('name'))ac.addClass('cke_anchor');else ac.removeClass('cke_anchor');if(this.fakeObj)F.createFakeElement(ac,'cke_anchor','anchor').replace(this.fakeObj);delete this._.selectedElement;}},onLoad:function(){if(!a.config.linkShowAdvancedTab)this.hidePage('advanced');if(!a.config.linkShowTargetTab)this.hidePage('target');},onFocus:function(){var B=this.getContentElement('info','linkType'),C;if(B&&B.getValue()=='url'){C=this.getContentElement('info','url');C.select();}}};}); +/* + Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +(function(){CKEDITOR.dialog.add("link",function(g){var k=CKEDITOR.plugins.link,l=function(){var a=this.getDialog(),b=a.getContentElement("target","popupFeatures"),a=a.getContentElement("target","linkTargetName"),j=this.getValue();if(b&&a)switch(b=b.getElement(),b.hide(),a.setValue(""),j){case "frame":a.setLabel(g.lang.link.targetFrameName);a.getElement().show();break;case "popup":b.show();a.setLabel(g.lang.link.targetPopupName);a.getElement().show();break;default:a.setValue(j),a.getElement().hide()}}, +f=function(a){a.target&&this.setValue(a.target[this.id]||"")},e=function(a){a.advanced&&this.setValue(a.advanced[this.id]||"")},h=function(a){a.target||(a.target={});a.target[this.id]=this.getValue()||""},i=function(a){a.advanced||(a.advanced={});a.advanced[this.id]=this.getValue()||""},c=g.lang.common,b=g.lang.link;return{title:b.title,minWidth:350,minHeight:230,contents:[{id:"info",label:b.info,title:b.info,elements:[{id:"linkType",type:"select",label:b.type,"default":"url",items:[[b.toUrl,"url"], +[b.toAnchor,"anchor"],[b.toEmail,"email"]],onChange:function(){var a=this.getDialog(),b=["urlOptions","anchorOptions","emailOptions"],j=this.getValue(),d=a.definition.getContents("upload"),d=d&&d.hidden;"url"==j?(g.config.linkShowTargetTab&&a.showPage("target"),d||a.showPage("upload")):(a.hidePage("target"),d||a.hidePage("upload"));for(d=0;d'+CKEDITOR.tools.htmlEncode(b.noAnchors)+"",focus:!0,setup:function(a){a.anchors&&1>a.anchors.length?this.getElement().show():this.getElement().hide()}}],setup:function(){this.getDialog().getContentElement("info","linkType")|| +this.getElement().hide()}},{type:"vbox",id:"emailOptions",padding:1,children:[{type:"text",id:"emailAddress",label:b.emailAddress,required:!0,validate:function(){var a=this.getDialog();return!a.getContentElement("info","linkType")||"email"!=a.getValueOf("info","linkType")?!0:CKEDITOR.dialog.validate.notEmpty(b.noEmail).apply(this)},setup:function(a){a.email&&this.setValue(a.email.address);(a=this.getDialog().getContentElement("info","linkType"))&&"email"==a.getValue()&&this.select()},commit:function(a){a.email|| +(a.email={});a.email.address=this.getValue()}},{type:"text",id:"emailSubject",label:b.emailSubject,setup:function(a){a.email&&this.setValue(a.email.subject)},commit:function(a){a.email||(a.email={});a.email.subject=this.getValue()}},{type:"textarea",id:"emailBody",label:b.emailBody,rows:3,"default":"",setup:function(a){a.email&&this.setValue(a.email.body)},commit:function(a){a.email||(a.email={});a.email.body=this.getValue()}}],setup:function(){this.getDialog().getContentElement("info","linkType")|| +this.getElement().hide()}}]},{id:"target",requiredContent:"a[target]",label:b.target,title:b.target,elements:[{type:"hbox",widths:["50%","50%"],children:[{type:"select",id:"linkTargetType",label:c.target,"default":"notSet",style:"width : 100%;",items:[[c.notSet,"notSet"],[b.targetFrame,"frame"],[b.targetPopup,"popup"],[c.targetNew,"_blank"],[c.targetTop,"_top"],[c.targetSelf,"_self"],[c.targetParent,"_parent"]],onChange:l,setup:function(a){a.target&&this.setValue(a.target.type||"notSet");l.call(this)}, +commit:function(a){a.target||(a.target={});a.target.type=this.getValue()}},{type:"text",id:"linkTargetName",label:b.targetFrameName,"default":"",setup:function(a){a.target&&this.setValue(a.target.name)},commit:function(a){a.target||(a.target={});a.target.name=this.getValue().replace(/\W/gi,"")}}]},{type:"vbox",width:"100%",align:"center",padding:2,id:"popupFeatures",children:[{type:"fieldset",label:b.popupFeatures,children:[{type:"hbox",children:[{type:"checkbox",id:"resizable",label:b.popupResizable, +setup:f,commit:h},{type:"checkbox",id:"status",label:b.popupStatusBar,setup:f,commit:h}]},{type:"hbox",children:[{type:"checkbox",id:"location",label:b.popupLocationBar,setup:f,commit:h},{type:"checkbox",id:"toolbar",label:b.popupToolbar,setup:f,commit:h}]},{type:"hbox",children:[{type:"checkbox",id:"menubar",label:b.popupMenuBar,setup:f,commit:h},{type:"checkbox",id:"fullscreen",label:b.popupFullScreen,setup:f,commit:h}]},{type:"hbox",children:[{type:"checkbox",id:"scrollbars",label:b.popupScrollBars, +setup:f,commit:h},{type:"checkbox",id:"dependent",label:b.popupDependent,setup:f,commit:h}]},{type:"hbox",children:[{type:"text",widths:["50%","50%"],labelLayout:"horizontal",label:c.width,id:"width",setup:f,commit:h},{type:"text",labelLayout:"horizontal",widths:["50%","50%"],label:b.popupLeft,id:"left",setup:f,commit:h}]},{type:"hbox",children:[{type:"text",labelLayout:"horizontal",widths:["50%","50%"],label:c.height,id:"height",setup:f,commit:h},{type:"text",labelLayout:"horizontal",label:b.popupTop, +widths:["50%","50%"],id:"top",setup:f,commit:h}]}]}]}]},{id:"upload",label:b.upload,title:b.upload,hidden:!0,filebrowser:"uploadButton",elements:[{type:"file",id:"upload",label:c.upload,style:"height:40px",size:29},{type:"fileButton",id:"uploadButton",label:c.uploadSubmit,filebrowser:"info:url","for":["upload","upload"]}]},{id:"advanced",label:b.advanced,title:b.advanced,elements:[{type:"vbox",padding:1,children:[{type:"hbox",widths:["45%","35%","20%"],children:[{type:"text",id:"advId",requiredContent:"a[id]", +label:b.id,setup:e,commit:i},{type:"select",id:"advLangDir",requiredContent:"a[dir]",label:b.langDir,"default":"",style:"width:110px",items:[[c.notSet,""],[b.langDirLTR,"ltr"],[b.langDirRTL,"rtl"]],setup:e,commit:i},{type:"text",id:"advAccessKey",requiredContent:"a[accesskey]",width:"80px",label:b.acccessKey,maxLength:1,setup:e,commit:i}]},{type:"hbox",widths:["45%","35%","20%"],children:[{type:"text",label:b.name,id:"advName",requiredContent:"a[name]",setup:e,commit:i},{type:"text",label:b.langCode, +id:"advLangCode",requiredContent:"a[lang]",width:"110px","default":"",setup:e,commit:i},{type:"text",label:b.tabIndex,id:"advTabIndex",requiredContent:"a[tabindex]",width:"80px",maxLength:5,setup:e,commit:i}]}]},{type:"vbox",padding:1,children:[{type:"hbox",widths:["45%","55%"],children:[{type:"text",label:b.advisoryTitle,requiredContent:"a[title]","default":"",id:"advTitle",setup:e,commit:i},{type:"text",label:b.advisoryContentType,requiredContent:"a[type]","default":"",id:"advContentType",setup:e, +commit:i}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text",label:b.cssClasses,requiredContent:"a(cke-xyz)","default":"",id:"advCSSClasses",setup:e,commit:i},{type:"text",label:b.charset,requiredContent:"a[charset]","default":"",id:"advCharset",setup:e,commit:i}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text",label:b.rel,requiredContent:"a[rel]","default":"",id:"advRel",setup:e,commit:i},{type:"text",label:b.styles,requiredContent:"a{cke-xyz}","default":"",id:"advStyles",validate:CKEDITOR.dialog.validate.inlineStyle(g.lang.common.invalidInlineStyle), +setup:e,commit:i}]}]}]}],onShow:function(){var a=this.getParentEditor(),b=a.getSelection(),c=null;(c=k.getSelectedLink(a))&&c.hasAttribute("href")?b.getSelectedElement()||b.selectElement(c):c=null;a=k.parseLinkAttributes(a,c);this._.selectedElement=c;this.setupContent(a)},onOk:function(){var a={};this.commitContent(a);var b=g.getSelection(),c=k.getLinkAttributes(g,a);if(this._.selectedElement){var d=this._.selectedElement,f=d.data("cke-saved-href"),e=d.getHtml();d.setAttributes(c.set);d.removeAttributes(c.removed); +if(f==e||"email"==a.type&&-1!=e.indexOf("@"))d.setHtml("email"==a.type?a.email.address:c.set["data-cke-saved-href"]),b.selectElement(d);delete this._.selectedElement}else b=b.getRanges()[0],b.collapsed&&(a=new CKEDITOR.dom.text("email"==a.type?a.email.address:c.set["data-cke-saved-href"],g.document),b.insertNode(a),b.selectNodeContents(a)),c=new CKEDITOR.style({element:"a",attributes:c.set}),c.type=CKEDITOR.STYLE_INLINE,c.applyToRange(b,g),b.select()},onLoad:function(){g.config.linkShowAdvancedTab|| +this.hidePage("advanced");g.config.linkShowTargetTab||this.hidePage("target")},onFocus:function(){var a=this.getContentElement("info","linkType");a&&"url"==a.getValue()&&(a=this.getContentElement("info","url"),a.select())}}})})(); \ No newline at end of file