(function () {
tinymce.create('tinymce.plugins.anspress', {
init: function (ed, url) {
ed.on('PreProcess', function (e) {
$content = jQuery(e.node);
$ta_name = jQuery('input[name="'+jQuery(ed.getElement()).attr('id') + '-images[]"]');
$ta_name.each(function(){
$filename = jQuery(this).attr('data-filename');
if($content.find('[data-apimagename="'+$filename+'"]').length === 0)
jQuery(this).remove();
});
});
// Replace blob image src.
ed.on('SaveContent', function (e) {
//jQuery(e.content).find('').
e.content = e.content.replace(/]+data-apimagename.*?[\w\W]+?)\/>/g, function(match, t) {
regex = /data-apimagename\=\"([\S+]*)\"/g;
apimagename = regex.exec(match);
regex = /alt\=\"([\S+]*)\"/g;
alt = regex.exec(match);
return '{{apimage "'+apimagename[1]+'" "'+alt[1]+'"}}';
});
});
ed.addButton('apmedia', {
title: 'Insert image',
icon: 'image',
onclick: function () {
// Open window
var win = ed.windowManager.open({
title: 'Insert Media (AnsPress)',
resizable: true,
scrollbars: true,
width: 500,
height: 300,
buttons: [{
text: 'Insert',
subtype: 'primary',
onclick: function () {
var preview = win.find('#image-preview')[0]['$el']['context'];
var title = win.find('#file-title')[0]['$el']['context'];
ed.insertContent('
');
win.close();
}
},
{
text: 'Close',
onclick: function () {
win.close();
}
}
],
body: [{
type: 'button',
name: 'file-browser',
label: 'Select File',
text: 'Browse from computer',
onclick: function (e) {
$ta_name = jQuery(ed.getElement()).attr('id') + '-images[]';
var input = jQuery('').hide();
input.insertAfter(ed.getElement());
input.on('change', function (e) {
var self = this;
if (this.files && this.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
var preview = win.find('#image-preview')[0]['$el']['context'];
jQuery(preview).html('