Task_12281 (#1)

Co-authored-by: User A0264400 <a0264400@jarl.from.sh>
Reviewed-on: #1
Co-authored-by: Anton.AE <ab.an.ev@yandex.ru>
Co-committed-by: Anton.AE <ab.an.ev@yandex.ru>
This commit is contained in:
2026-07-05 16:07:04 +03:00
committed by Антон
parent 50f3a8e626
commit 3e42863ef5
2878 changed files with 59059 additions and 181273 deletions

View File

@@ -0,0 +1,59 @@
(function() {
tinymce.create('tinymce.plugins.Wpfc', {
wpfcNotHTML : '',
url: '',
init : function(ed, url) {
var self = this;
self.setUrl(url);
self.setWpfcNotHTML();
ed.addButton('wpfc', {
title : 'Block caching for this page',
cmd : 'wpfc',
image : self.url + "/icon.png"
});
ed.addCommand('wpfc', function() {
ed.execCommand('mceInsertContent', 0, self.wpfcNotHTML);
});
self._handleWpfcNOT(ed, url);
},
setUrl: function(url){
this.url = url.replace("../js","../images");
},
setWpfcNotHTML: function(){
this.wpfcNotHTML = '<img src="' + this.url + "/tinymce-wpfcnot.jpg" + '" class="mce-wp-wpfcnot" style="margin-right:95%;" />';
},
_handleWpfcNOT : function(ed, url) {
var self = this;
ed.onPostRender.add(function() {
if (ed.theme.onResolveName) {
ed.theme.onResolveName.add(function(th, o) {
if (o.node.nodeName == 'IMG') {
if ( ed.dom.hasClass(o.node, 'mce-wp-wpfcnot') ){
o.name = 'wpfcnot';
}
}
});
}
});
ed.onBeforeSetContent.add(function(ed, o) {
if ( o.content ) {
o.content = o.content.replace(/<\!--\s*\[wpfcNOT\]\s*-->/, self.wpfcNotHTML);
}
});
ed.onPostProcess.add(function(ed, o) {
if (o.get){
o.content = o.content.replace(/<img[^>]+>/g, function(im) {
if (im.indexOf('class="mce-wp-wpfcnot') !== -1) {
im = '<!--[wpfcNOT]-->';
}
return im;
});
}
});
}
});
tinymce.PluginManager.add( 'wpfc', tinymce.plugins.Wpfc );
})();