www.gusucode.com > mcms手机网站系统 v3.1源码程序 > mcms_v3.1.0/upload/static/libs/ckeditor/plugins/specialchar/dialogs/specialchar.js
/* Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */CKEDITOR.dialog.add("specialchar", function(a) { var b, c = a.lang.specialChar, d = function(j) { var k, l; j.data ? k = j.data.getTarget() : k = new CKEDITOR.dom.element(j); if (k.getName() == "a" && (l = k.getChild(0).getHtml())) { k.removeClass("cke_light_background"), b.hide(); var m = a.document.createElement("span"); m.setHtml(l), a.insertText(m.getText()); } }, e = CKEDITOR.tools.addFunction(d), f, g = function(j, k) { var l; k = k || j.data.getTarget(), k.getName() == "span" && (k = k.getParent()); if (k.getName() == "a" && (l = k.getChild(0).getHtml())) { f && h(null, f); var m = b.getContentElement("info", "htmlPreview").getElement(); b.getContentElement("info", "charPreview").getElement().setHtml(l), m.setHtml(CKEDITOR.tools.htmlEncode(l)), k.getParent().addClass("cke_light_background"), f = k; } }, h = function(j, k) { k = k || j.data.getTarget(), k.getName() == "span" && (k = k.getParent()), k.getName() == "a" && (b.getContentElement("info", "charPreview").getElement().setHtml(" "), b.getContentElement("info", "htmlPreview").getElement().setHtml(" "), k.getParent().removeClass("cke_light_background"), f = undefined); }, i = CKEDITOR.tools.addFunction(function(j) { j = new CKEDITOR.dom.event(j); var k = j.getTarget(), l, m, n = j.getKeystroke(), o = a.lang.dir == "rtl"; switch (n) { case 38: if (l = k.getParent().getParent().getPrevious()) m = l.getChild([ k.getParent().getIndex(), 0 ]), m.focus(), h(null, k), g(null, m); j.preventDefault(); break; case 40: if (l = k.getParent().getParent().getNext()) m = l.getChild([ k.getParent().getIndex(), 0 ]), m && m.type == 1 && (m.focus(), h(null, k), g(null, m)); j.preventDefault(); break; case 32: d({ "data": j }), j.preventDefault(); break; case o ? 37 : 39: case 9: if (l = k.getParent().getNext()) m = l.getChild(0), m.type == 1 ? (m.focus(), h(null, k), g(null, m), j.preventDefault(!0)) : h(null, k); else if (l = k.getParent().getParent().getNext()) m = l.getChild([ 0, 0 ]), m && m.type == 1 ? (m.focus(), h(null, k), g(null, m), j.preventDefault(!0)) : h(null, k); break; case o ? 39 : 37: case CKEDITOR.SHIFT + 9: (l = k.getParent().getPrevious()) ? (m = l.getChild(0), m.focus(), h(null, k), g(null, m), j.preventDefault(!0)) : (l = k.getParent().getParent().getPrevious()) ? (m = l.getLast().getChild(0), m.focus(), h(null, k), g(null, m), j.preventDefault(!0)) : h(null, k); break; default: return; } }); return { "title": c.title, "minWidth": 430, "minHeight": 280, "buttons": [ CKEDITOR.dialog.cancelButton ], "charColumns": 17, "onLoad": function() { var j = this.definition.charColumns, k = a.config.extraSpecialChars, l = a.config.specialChars, m = CKEDITOR.tools.getNextId() + "_specialchar_table_label", n = [ '<table role="listbox" aria-labelledby="' + m + '"' + ' style="width: 320px; height: 100%; border-collapse: separate;"' + ' align="center" cellspacing="2" cellpadding="2" border="0">' ], o = 0, p = l.length, q, r; while (o < p) { n.push("<tr>"); for (var s = 0; s < j; s++, o++) { if (q = l[o]) { r = ""; if (q instanceof Array) r = q[1], q = q[0]; else { var t = q.toLowerCase().replace("&", "").replace(";", "").replace("#", ""); r = c[t] || q; } var u = "cke_specialchar_label_" + o + "_" + CKEDITOR.tools.getNextNumber(); n.push('<td class="cke_dark_background" style="cursor: default" role="presentation"><a href="javascript: void(0);" role="option" aria-posinset="' + (o + 1) + '"', ' aria-setsize="' + p + '"', ' aria-labelledby="' + u + '"', ' style="cursor: inherit; display: block; height: 1.25em; margin-top: 0.25em; text-align: center;" title="', CKEDITOR.tools.htmlEncode(r), '" onkeydown="CKEDITOR.tools.callFunction( ' + i + ', event, this )"' + ' onclick="CKEDITOR.tools.callFunction(' + e + ', this); return false;"' + ' tabindex="-1">' + '<span style="margin: 0 auto;cursor: inherit">' + q + "</span>" + '<span class="cke_voice_label" id="' + u + '">' + r + "</span></a>"); } else n.push('<td class="cke_dark_background"> '); n.push("</td>"); } n.push("</tr>"); } n.push("</tbody></table>", '<span id="' + m + '" class="cke_voice_label">' + c.options + "</span>"), this.getContentElement("info", "charContainer").getElement().setHtml(n.join("")); }, "contents": [ { "id": "info", "label": a.lang.common.generalTab, "title": a.lang.common.generalTab, "padding": 0, "align": "top", "elements": [ { "type": "hbox", "align": "top", "widths": [ "320px", "90px" ], "children": [ { "type": "html", "id": "charContainer", "html": "", "onMouseover": g, "onMouseout": h, "focus": function() { var j = this.getElement().getElementsByTag("a").getItem(0); setTimeout(function() { j.focus(), g(null, j); }, 0); }, "onShow": function() { var j = this.getElement().getChild([ 0, 0, 0, 0, 0 ]); setTimeout(function() { j.focus(), g(null, j); }, 0); }, "onLoad": function(j) { b = j.sender; } }, { "type": "hbox", "align": "top", "widths": [ "100%" ], "children": [ { "type": "vbox", "align": "top", "children": [ { "type": "html", "html": "<div></div>" }, { "type": "html", "id": "charPreview", "className": "cke_dark_background", "style": "border:1px solid #eeeeee;font-size:28px;height:40px;width:70px;padding-top:9px;font-family:'Microsoft Sans Serif',Arial,Helvetica,Verdana;text-align:center;", "html": "<div> </div>" }, { "type": "html", "id": "htmlPreview", "className": "cke_dark_background", "style": "border:1px solid #eeeeee;font-size:14px;height:20px;width:70px;padding-top:2px;font-family:'Microsoft Sans Serif',Arial,Helvetica,Verdana;text-align:center;", "html": "<div> </div>" } ] } ] } ] } ] } ] }; });