2 Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
3 For licensing, see LICENSE.md or http://ckeditor.com/license
5 (function(){CKEDITOR
.dialog
.add("link",function(g
){var n
=CKEDITOR
.plugins
.link
,p=function(){var a
=this.getDialog(),b
=a
.getContentElement("target","popupFeatures"),a
=a
.getContentElement("target","linkTargetName"),m
=this.getValue();if(b
&&a
)switch(b
=b
.getElement(),b
.hide(),a
.setValue(""),m
){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(m
),a
.getElement().hide()}},
6 f=function(a
){a
.target
&&this.setValue(a
.target
[this.id
]||"")},h=function(a
){a
.advanced
&&this.setValue(a
.advanced
[this.id
]||"")},k=function(a
){a
.target
||(a
.target
={});a
.target
[this.id
]=this.getValue()||""},l=function(a
){a
.advanced
||(a
.advanced
={});a
.advanced
[this.id
]=this.getValue()||""},c
=g
.lang
.common
,b
=g
.lang
.link
,d
;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"],
7 [b
.toAnchor
,"anchor"],[b
.toEmail
,"email"]],onChange:function(){var a
=this.getDialog(),b
=["urlOptions","anchorOptions","emailOptions"],m
=this.getValue(),e
=a
.definition
.getContents("upload"),e
=e
&&e
.hidden
;"url"==m
?(g
.config
.linkShowTargetTab
&&a
.showPage("target"),e
||a
.showPage("upload")):(a
.hidePage("target"),e
||a
.hidePage("upload"));for(e
=0;e
<b
.length
;e
++){var c
=a
.getContentElement("info",b
[e
]);c
&&(c
=c
.getElement().getParent().getParent(),b
[e
]==m
+"Options"?c
.show():c
.hide())}a
.layout()},setup:function(a
){this.setValue(a
.type
||
8 "url")},commit:function(a
){a
.type
=this.getValue()}},{type:"vbox",id:"urlOptions",children:[{type:"hbox",widths:["25%","75%"],children:[{id:"protocol",type:"select",label:c
.protocol
,"default":"http://",items:[["http://","http://"],["https://","https://"],["ftp://","ftp://"],["news://","news://"],[b
.other
,""]],setup:function(a
){a
.url
&&this.setValue(a
.url
.protocol
||"")},commit:function(a
){a
.url
||(a
.url
={});a
.url
.protocol
=this.getValue()}},{type:"text",id:"url",label:c
.url
,required:!0,onLoad:function(){this.allowOnChange
=
9 !0},onKeyUp:function(){this.allowOnChange
=!1;var a
=this.getDialog().getContentElement("info","protocol"),b
=this.getValue(),m
=/^((javascript:)|[#\/\.\?])/i,c
=/^(http|https|ftp|news):\/\/(?=.)/i.exec(b
);c
?(this.setValue(b
.substr(c
[0].length
)),a
.setValue(c
[0].toLowerCase())):m
.test(b
)&&a
.setValue("");this.allowOnChange
=!0},onChange:function(){if(this.allowOnChange
)this.onKeyUp()},validate:function(){var a
=this.getDialog();return a
.getContentElement("info","linkType")&&"url"!=a
.getValueOf("info","linkType")?
10 !0:!g
.config
.linkJavaScriptLinksAllowed
&&/javascript\:/.test(this.getValue())?(alert(c
.invalidValue
),!1):this.getDialog().fakeObj
?!0:CKEDITOR
.dialog
.validate
.notEmpty(b
.noUrl
).apply(this)},setup:function(a
){this.allowOnChange
=!1;a
.url
&&this.setValue(a
.url
.url
);this.allowOnChange
=!0},commit:function(a
){this.onChange();a
.url
||(a
.url
={});a
.url
.url
=this.getValue();this.allowOnChange
=!1}}],setup:function(){this.getDialog().getContentElement("info","linkType")||this.getElement().show()}},{type:"button",
11 id:"browse",hidden:"true",filebrowser:"info:url",label:c
.browseServer
}]},{type:"vbox",id:"anchorOptions",width:260,align:"center",padding:0,children:[{type:"fieldset",id:"selectAnchorText",label:b
.selectAnchor
,setup:function(){d
=n
.getEditorAnchors(g
);this.getElement()[d
&&d
.length
?"show":"hide"]()},children:[{type:"hbox",id:"selectAnchor",children:[{type:"select",id:"anchorName","default":"",label:b
.anchorName
,style:"width: 100%;",items:[[""]],setup:function(a
){this.clear();this.add("");if(d
)for(var b
=
12 0;b
<d
.length
;b
++)d
[b
].name
&&this.add(d
[b
].name
);a
.anchor
&&this.setValue(a
.anchor
.name
);(a
=this.getDialog().getContentElement("info","linkType"))&&"email"==a
.getValue()&&this.focus()},commit:function(a
){a
.anchor
||(a
.anchor
={});a
.anchor
.name
=this.getValue()}},{type:"select",id:"anchorId","default":"",label:b
.anchorId
,style:"width: 100%;",items:[[""]],setup:function(a
){this.clear();this.add("");if(d
)for(var b
=0;b
<d
.length
;b
++)d
[b
].id
&&this.add(d
[b
].id
);a
.anchor
&&this.setValue(a
.anchor
.id
)},commit:function(a
){a
.anchor
||
13 (a
.anchor
={});a
.anchor
.id
=this.getValue()}}],setup:function(){this.getElement()[d
&&d
.length
?"show":"hide"]()}}]},{type:"html",id:"noAnchors",style:"text-align: center;",html:'\x3cdiv role\x3d"note" tabIndex\x3d"-1"\x3e'+CKEDITOR
.tools
.htmlEncode(b
.noAnchors
)+"\x3c/div\x3e",focus:!0,setup:function(){this.getElement()[d
&&d
.length
?"hide":"show"]()}}],setup:function(){this.getDialog().getContentElement("info","linkType")||this.getElement().hide()}},{type:"vbox",id:"emailOptions",padding:1,children:[{type:"text",
14 id:"emailAddress",label:b
.emailAddress
,required:!0,validate:function(){var a
=this.getDialog();return a
.getContentElement("info","linkType")&&"email"==a
.getValueOf("info","linkType")?CKEDITOR
.dialog
.validate
.notEmpty(b
.noEmail
).apply(this):!0},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",
15 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
,
16 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:p
,setup:function(a
){a
.target
&&this.setValue(a
.target
.type
||"notSet");p
.call(this)},commit:function(a
){a
.target
||(a
.target
={});a
.target
.type
=this.getValue()}},{type:"text",
17 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(/([^\x00-\x7F]|\s)/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:k
},{type:"checkbox",id:"status",label:b
.popupStatusBar
,
18 setup:f
,commit:k
}]},{type:"hbox",children:[{type:"checkbox",id:"location",label:b
.popupLocationBar
,setup:f
,commit:k
},{type:"checkbox",id:"toolbar",label:b
.popupToolbar
,setup:f
,commit:k
}]},{type:"hbox",children:[{type:"checkbox",id:"menubar",label:b
.popupMenuBar
,setup:f
,commit:k
},{type:"checkbox",id:"fullscreen",label:b
.popupFullScreen
,setup:f
,commit:k
}]},{type:"hbox",children:[{type:"checkbox",id:"scrollbars",label:b
.popupScrollBars
,setup:f
,commit:k
},{type:"checkbox",id:"dependent",label:b
.popupDependent
,
19 setup:f
,commit:k
}]},{type:"hbox",children:[{type:"text",widths:["50%","50%"],labelLayout:"horizontal",label:c
.width
,id:"width",setup:f
,commit:k
},{type:"text",labelLayout:"horizontal",widths:["50%","50%"],label:b
.popupLeft
,id:"left",setup:f
,commit:k
}]},{type:"hbox",children:[{type:"text",labelLayout:"horizontal",widths:["50%","50%"],label:c
.height
,id:"height",setup:f
,commit:k
},{type:"text",labelLayout:"horizontal",label:b
.popupTop
,widths:["50%","50%"],id:"top",setup:f
,commit:k
}]}]}]}]},{id:"upload",
20 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:h
,commit:l
},{type:"select",id:"advLangDir",
21 requiredContent:"a[dir]",label:b
.langDir
,"default":"",style:"width:110px",items:[[c
.notSet
,""],[b
.langDirLTR
,"ltr"],[b
.langDirRTL
,"rtl"]],setup:h
,commit:l
},{type:"text",id:"advAccessKey",requiredContent:"a[accesskey]",width:"80px",label:b
.acccessKey
,maxLength:1,setup:h
,commit:l
}]},{type:"hbox",widths:["45%","35%","20%"],children:[{type:"text",label:b
.name
,id:"advName",requiredContent:"a[name]",setup:h
,commit:l
},{type:"text",label:b
.langCode
,id:"advLangCode",requiredContent:"a[lang]",width:"110px",
22 "default":"",setup:h
,commit:l
},{type:"text",label:b
.tabIndex
,id:"advTabIndex",requiredContent:"a[tabindex]",width:"80px",maxLength:5,setup:h
,commit:l
}]}]},{type:"vbox",padding:1,children:[{type:"hbox",widths:["45%","55%"],children:[{type:"text",label:b
.advisoryTitle
,requiredContent:"a[title]","default":"",id:"advTitle",setup:h
,commit:l
},{type:"text",label:b
.advisoryContentType
,requiredContent:"a[type]","default":"",id:"advContentType",setup:h
,commit:l
}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text",
23 label:b
.cssClasses
,requiredContent:"a(cke-xyz)","default":"",id:"advCSSClasses",setup:h
,commit:l
},{type:"text",label:b
.charset
,requiredContent:"a[charset]","default":"",id:"advCharset",setup:h
,commit:l
}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text",label:b
.rel
,requiredContent:"a[rel]","default":"",id:"advRel",setup:h
,commit:l
},{type:"text",label:b
.styles
,requiredContent:"a{cke-xyz}","default":"",id:"advStyles",validate:CKEDITOR
.dialog
.validate
.inlineStyle(g
.lang
.common
.invalidInlineStyle
),
24 setup:h
,commit:l
}]}]}]}],onShow:function(){var a
=this.getParentEditor(),b
=a
.getSelection(),c
=null;(c
=n
.getSelectedLink(a
))&&c
.hasAttribute("href")?b
.getSelectedElement()||b
.selectElement(c
):c
=null;a
=n
.parseLinkAttributes(a
,c
);this._
.selectedElement
=c
;this.setupContent(a
)},onOk:function(){var a
={};this.commitContent(a
);var b
=g
.getSelection(),c
=n
.getLinkAttributes(g
,a
);if(this._
.selectedElement
){var e
=this._
.selectedElement
,d
=e
.data("cke-saved-href"),f
=e
.getHtml();e
.setAttributes(c
.set);e
.removeAttributes(c
.removed
);
25 if(d
==f
||"email"==a
.type
&&-1!=f
.indexOf("@"))e
.setHtml("email"==a
.type
?a
.email
.address:c
.set["data-cke-saved-href"]),b
.selectElement(e
);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
||
26 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())}}})})();