tinymce.PluginManager.add("importcss", function(a){function b(a){var b = tinymce.Env.cacheSuffix; return"string" == typeof a && (a = a.replace("?" + b, "").replace("&" + b, "")), a}function c(b){var c = a.settings, d = c.skin !== !1?c.skin || "lightgray":!1; if (d){var e = c.skin_url; return e = e?a.documentBaseURI.toAbsolute(e):tinymce.baseURL + "/skins/" + d, b === e + "/content" + (a.inline?".inline":"") + ".min.css"}return!1}function d(a){return"string" == typeof a?function(b){return - 1 !== b.indexOf(a)}:a instanceof RegExp?function(b){return a.test(b)}:a}function e(d, e){function f(a, d){var i, j = a.href; if (j = b(j), j && e(j, d) && !c(j)){h(a.imports, function(a){f(a, !0)}); try{i = a.cssRules || a.rules} catch (k){}h(i, function(a){a.styleSheet?f(a.styleSheet, !0):a.selectorText && h(a.selectorText.split(","), function(a){g.push(tinymce.trim(a))})})}}var g = [], i = {}; h(a.contentCSS, function(a){i[a] = !0}), e || (e = function(a, b){return b || i[a]}); try{h(d.styleSheets, function(a){f(a)})} catch (j){}return g}function f(b){var c, d = /^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(b); if (d){var e = d[1], f = d[2].substr(1).split(".").join(" "), g = tinymce.makeMap("a,img"); return d[1]?(c = {title:b}, a.schema.getTextBlockElements()[e]?c.block = e:a.schema.getBlockElements()[e] || g[e.toLowerCase()]?c.selector = e:c.inline = e):d[2] && (c = {inline:"span", title:b.substr(1), classes:f}), a.settings.importcss_merge_classes !== !1?c.classes = f:c.attributes = {"class":f}, c}}var g = this, h = tinymce.each; a.on("renderFormatsMenu", function(b){var c = a.settings, i = {}, j = c.importcss_selector_converter || f, k = d(c.importcss_selector_filter), l = b.control; a.settings.importcss_append || l.items().remove(); var m = []; tinymce.each(c.importcss_groups, function(a){a = tinymce.extend({}, a), a.filter = d(a.filter), m.push(a)}), h(e(b.doc || a.getDoc(), d(c.importcss_file_filter)), function(b){if ( - 1 === b.indexOf(".mce-") && !i[b] && (!k || k(b))){var c, d = j.call(g, b); if (d){var e = d.name || tinymce.DOM.uniqueId(); if (m)for (var f = 0; f < m.length; f++)if (!m[f].filter || m[f].filter(b)){m[f].item || (m[f].item = {text:m[f].title, menu:[]}), c = m[f].item.menu; break}a.formatter.register(e, d); var h = tinymce.extend({}, l.settings.itemDefaults, {text:d.title, format:e}); c?c.push(h):l.add(h)}i[b] = !0}}), h(m, function(a){l.add(a.item)}), b.control.renderNew()}), g.convertSelectorToFormat = f}); |