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())}}})})();