tinymce-editor/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/importcss/plugin.min.js
Marat.Bedoev@heiner-direct.com a9baadbf7d update TinyMCE 4.0.10
2013-11-14 10:10:41 +01:00

1 line
1.8 KiB
JavaScript

tinymce.PluginManager.add("importcss",function(t){function e(t){return"string"==typeof t?function(e){return-1!==e.indexOf(t)}:t instanceof RegExp?function(e){return t.test(e)}:t}function n(e,n){function r(t,e){var o,l=t.href;if((e||c[l])&&(!n||n(l))){s(t.imports,function(t){r(t,!0)});try{o=t.cssRules||t.rules}catch(a){}s(o,function(t){t.styleSheet?r(t.styleSheet,!0):t.selectorText&&s(t.selectorText.split(","),function(t){i.push(tinymce.trim(t))})})}}var i=[],c={};s(t.contentCSS,function(t){c[t]=!0});try{s(e.styleSheets,function(t){r(t)})}catch(o){}return i}function r(e){var n,r=/^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(e);if(r){var i=r[1],s=r[2].substr(1).split(".").join(" ");return r[1]?(n={title:e},t.schema.getTextBlockElements()[i]?n.block=i:t.schema.getBlockElements()[i]?n.selector=i:n.inline=i):r[2]&&(n={inline:"span",title:e.substr(1),classes:s}),t.settings.importcss_merge_classes!==!1?n.classes=s:n.attributes={"class":s},n}}var i=this,s=tinymce.each;t.settings.style_formats||t.on("renderFormatsMenu",function(c){var o=t.settings,l={},a=o.importcss_selector_converter||r,f=e(o.importcss_selector_filter);t.settings.importcss_append||c.control.items().remove();var m=o.importcss_groups;if(m)for(var u=0;u<m.length;u++)m[u].filter=e(m[u].filter);s(n(t.getDoc(),e(o.importcss_file_filter)),function(e){if(-1===e.indexOf(".mce-")&&!l[e]&&(!f||f(e))){var n,r=a.call(i,e);if(r){var s=r.name||tinymce.DOM.uniqueId();if(m)for(var o=0;o<m.length;o++)if(!m[o].filter||m[o].filter(e)){m[o].item||(m[o].item={text:m[o].title,menu:[]}),n=m[o].item.menu;break}t.formatter.register(s,r);var u=tinymce.extend({},c.control.settings.itemDefaults,{text:r.title,format:s});n?n.push(u):c.control.add(u)}l[e]=!0}}),s(m,function(t){c.control.add(t.item)}),c.control.renderNew()}),i.convertSelectorToFormat=r});