summaryrefslogtreecommitdiff
path: root/plugins/link/dialogs/anchor.js
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/link/dialogs/anchor.js')
-rwxr-xr-xplugins/link/dialogs/anchor.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/plugins/link/dialogs/anchor.js b/plugins/link/dialogs/anchor.js
new file mode 100755
index 0000000..8d80730
--- /dev/null
+++ b/plugins/link/dialogs/anchor.js
@@ -0,0 +1,22 @@
+/*
+ Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
+ For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.dialog.add("anchor", function(c) {
+ function e(b, a) { return b.createFakeElement(b.document.createElement("a", { attributes: a }), "cke_anchor", "anchor") } return {
+ title: c.lang.link.anchor.title, minWidth: 300, minHeight: 60, onOk: function() {
+ var b = CKEDITOR.tools.trim(this.getValueOf("info", "txtName")), a = { id: b, name: b, "data-cke-saved-name": b }; this._.selectedElement ? this._.selectedElement.data("cke-realelement") ? (b = e(c, a), b.replace(this._.selectedElement), CKEDITOR.env.ie && c.getSelection().selectElement(b)) : this._.selectedElement.setAttributes(a) :
+ (b = (b = c.getSelection()) && b.getRanges()[0], b.collapsed ? (a = e(c, a), b.insertNode(a)) : (CKEDITOR.env.ie && 9 > CKEDITOR.env.version && (a["class"] = "cke_anchor"), a = new CKEDITOR.style({ element: "a", attributes: a }), a.type = CKEDITOR.STYLE_INLINE, a.applyToRange(b)))
+ }, onHide: function() { delete this._.selectedElement }, onShow: function() {
+ var b = c.getSelection(), a; a = b.getRanges()[0]; var d = b.getSelectedElement(); a.shrink(CKEDITOR.SHRINK_ELEMENT); a = (d = a.getEnclosedNode()) && d.type === CKEDITOR.NODE_ELEMENT && ("anchor" === d.data("cke-real-element-type") ||
+ d.is("a")) ? d : void 0; var f = (d = a && a.data("cke-realelement")) ? CKEDITOR.plugins.link.tryRestoreFakeAnchor(c, a) : CKEDITOR.plugins.link.getSelectedLink(c); if (f) { this._.selectedElement = f; var e = f.data("cke-saved-name"); this.setValueOf("info", "txtName", e || ""); !d && b.selectElement(f); a && (this._.selectedElement = a) } this.getContentElement("info", "txtName").focus()
+ }, contents: [{
+ id: "info", label: c.lang.link.anchor.title, accessKey: "I", elements: [{
+ type: "text", id: "txtName", label: c.lang.link.anchor.name, required: !0, validate: function() {
+ return this.getValue() ?
+ !0 : (alert(c.lang.link.anchor.errorName), !1)
+ }
+ }]
+ }]
+ }
+}); \ No newline at end of file