123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- /*
- Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
- For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
- (function() {
- CKEDITOR.dialog.add("templates", function(c) {
- function r(a, b) {
- var m = CKEDITOR.dom.element.createFromHtml(
- '\x3ca href\x3d"javascript:void(0)" tabIndex\x3d"-1" role\x3d"option" \x3e\x3cdiv class\x3d"cke_tpl_item"\x3e\x3c/div\x3e\x3c/a\x3e'
- ),
- d =
- '\x3ctable style\x3d"width:350px;" class\x3d"cke_tpl_preview" role\x3d"presentation"\x3e\x3ctr\x3e';
- a.image &&
- b &&
- (d +=
- '\x3ctd class\x3d"cke_tpl_preview_img"\x3e\x3cimg src\x3d"' +
- CKEDITOR.getUrl(b + a.image) +
- '"' +
- (CKEDITOR.env.ie6Compat
- ? ' onload\x3d"this.width\x3dthis.width"'
- : "") +
- ' alt\x3d"" title\x3d""\x3e\x3c/td\x3e');
- d +=
- '\x3ctd style\x3d"white-space:normal;"\x3e\x3cspan class\x3d"cke_tpl_title"\x3e' +
- a.title +
- "\x3c/span\x3e\x3cbr/\x3e";
- a.description && (d += "\x3cspan\x3e" + a.description + "\x3c/span\x3e");
- d += "\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e";
- m.getFirst().setHtml(d);
- m.on("click", function() {
- t(a.html);
- });
- return m;
- }
- function t(a) {
- var b = CKEDITOR.dialog.getCurrent();
- b.getValueOf("selectTpl", "chkInsertOpt")
- ? (c.fire("saveSnapshot"),
- c.setData(a, function() {
- b.hide();
- var a = c.createRange();
- a.moveToElementEditStart(c.editable());
- a.select();
- setTimeout(function() {
- c.fire("saveSnapshot");
- }, 0);
- }))
- : (c.insertHtml(a), b.hide());
- }
- function k(a) {
- var b = a.data.getTarget(),
- c = g.equals(b);
- if (c || g.contains(b)) {
- var d = a.data.getKeystroke(),
- f = g.getElementsByTag("a"),
- e;
- if (f) {
- if (c) e = f.getItem(0);
- else
- switch (d) {
- case 40:
- e = b.getNext();
- break;
- case 38:
- e = b.getPrevious();
- break;
- case 13:
- case 32:
- b.fire("click");
- }
- e && (e.focus(), a.data.preventDefault());
- }
- }
- }
- var h = CKEDITOR.plugins.get("templates");
- CKEDITOR.document.appendStyleSheet(
- CKEDITOR.getUrl(h.path + "dialogs/templates.css")
- );
- var g,
- h = "cke_tpl_list_label_" + CKEDITOR.tools.getNextNumber(),
- f = c.lang.templates,
- n = c.config;
- return {
- title: c.lang.templates.title,
- minWidth: CKEDITOR.env.ie ? 440 : 400,
- minHeight: 340,
- contents: [
- {
- id: "selectTpl",
- label: f.title,
- elements: [
- {
- type: "vbox",
- padding: 5,
- children: [
- {
- id: "selectTplText",
- type: "html",
- html: "\x3cspan\x3e" + f.selectPromptMsg + "\x3c/span\x3e"
- },
- {
- id: "templatesList",
- type: "html",
- focus: !0,
- html:
- '\x3cdiv class\x3d"cke_tpl_list" tabIndex\x3d"-1" role\x3d"listbox" aria-labelledby\x3d"' +
- h +
- '"\x3e\x3cdiv class\x3d"cke_tpl_loading"\x3e\x3cspan\x3e\x3c/span\x3e\x3c/div\x3e\x3c/div\x3e\x3cspan class\x3d"cke_voice_label" id\x3d"' +
- h +
- '"\x3e' +
- f.options +
- "\x3c/span\x3e"
- },
- {
- id: "chkInsertOpt",
- type: "checkbox",
- label: f.insertOption,
- default: n.templates_replaceContent
- }
- ]
- }
- ]
- }
- ],
- buttons: [CKEDITOR.dialog.cancelButton],
- onShow: function() {
- var a = this.getContentElement("selectTpl", "templatesList");
- g = a.getElement();
- CKEDITOR.loadTemplates(n.templates_files, function() {
- var b = (n.templates || "default").split(",");
- if (b.length) {
- var c = g;
- c.setHtml("");
- for (var d = 0, h = b.length; d < h; d++)
- for (
- var e = CKEDITOR.getTemplates(b[d]),
- k = e.imagesPath,
- e = e.templates,
- q = e.length,
- l = 0;
- l < q;
- l++
- ) {
- var p = r(e[l], k);
- p.setAttribute("aria-posinset", l + 1);
- p.setAttribute("aria-setsize", q);
- c.append(p);
- }
- a.focus();
- } else g.setHtml('\x3cdiv class\x3d"cke_tpl_empty"\x3e\x3cspan\x3e' + f.emptyListMsg + "\x3c/span\x3e\x3c/div\x3e");
- });
- this._.element.on("keydown", k);
- },
- onHide: function() {
- this._.element.removeListener("keydown", k);
- }
- };
- });
- })();
|