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 h, i = a.href; if (i = b(i), i && e(i, d) && !c(i)){n(a.imports, function(a){f(a, !0)}); try{h = a.cssRules || a.rules} catch (j){}n(h, function(a){a.styleSheet?f(a.styleSheet, !0):a.selectorText && n(a.selectorText.split(","), function(a){g.push(tinymce.trim(a))})})}}var g = [], h = {}; n(a.contentCSS, function(a){h[a] = !0}), e || (e = function(a, b){return b || h[a]}); try{n(d.styleSheets, function(a){f(a)})} catch (i){}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}}function g(a, b){return tinymce.util.Tools.grep(a, function(a){return!a.filter || a.filter(b)})}function h(a){return tinymce.util.Tools.map(a, function(a){return tinymce.util.Tools.extend({}, a, {original:a, selectors:{}, filter:d(a.filter), item:{text:a.title, menu:[]}})})}function i(a, b){return null === b || a.settings.importcss_exclusive !== !1}function j(b, c, d){return!(i(a, c)?b in d:b in c.selectors)}function k(b, c, d){i(a, c)?d[b] = !0:c.selectors[b] = !0}function l(b, c, d){var e, g = a.settings; return e = d && d.selector_converter?d.selector_converter:g.importcss_selector_converter?g.importcss_selector_converter:f, e.call(b, c, d)}var m = this, n = tinymce.each; a.on("renderFormatsMenu", function(b){var c = a.settings, f = {}, i = d(c.importcss_selector_filter), o = b.control, p = h(c.importcss_groups), q = function(b, c){if (j(b, c, f)){k(b, c, f); var d = l(m, b, c); if (d){var e = d.name || tinymce.DOM.uniqueId(); return a.formatter.register(e, d), tinymce.extend({}, o.settings.itemDefaults, {text:d.title, format:e})}}return null}; a.settings.importcss_append || o.items().remove(), n(e(b.doc || a.getDoc(), d(c.importcss_file_filter)), function(a){if ( - 1 === a.indexOf(".mce-") && (!i || i(a))){var b = g(p, a); if (b.length > 0)tinymce.util.Tools.each(b, function(b){var c = q(a, b); c && b.item.menu.push(c)}); else{var c = q(a, null); c && o.add(c)}}}), n(p, function(a){a.item.menu.length > 0 && o.add(a.item)}), b.control.renderNew()}), m.convertSelectorToFormat = f});
|