tinymce.PluginManager.add("icmsinsertfile", function(editor, i) {
let file_upload = editor.getParam('file_upload', {});
if (!file_upload.url) { return false; }
let l = {
form_id: "icmsinsertfile_form",
action: "",
inputs: {
file: {
id: "inline_upload_file",
name: "inline_upload_file"
}
},
submit: {
id: "inline_upload_submit",
value: ""
},
iframe: "inline_upload_iframe"
};
editor.options.set('file_picker_callback', function(i, value, meta) {
var n;
n = i, 0 !== $("#" + l.form_id).length && $("#" + l.form_id).remove(), $(['<div id="', l.form_id, '"><form action="', file_upload.url + "&filetype=" + meta.filetype, '" target="', l.iframe, '" method="post" enctype="multipart/form-data">', '<input name="', l.inputs.file.name, '" id="', l.inputs.file.id, '" type="file" /><input id="', l.submit.id, '" type="button" value="', l.submit.value, '" /></form><iframe id="', l.iframe, '" name="', l.iframe, '" src="about:blank" style="height:0;display: block;"></iframe></div>'].join("")).hide().appendTo("body"), $("#" + l.inputs.file.id).on("change", function() {
$("#" + l.form_id).find('form').submit();
}), $("#" + l.iframe).on("load", function() {
$("#" + l.inputs.file.id).val("");
var i = $(this).contents().text();
if(i.length === 0){ return; }
i = JSON.parse(i);
i.success ? n(i.location, {
text: i.name
}) : tinymce.activeEditor.windowManager.alert(i.error);
}), $("#" + l.inputs.file.id).trigger("click");
});
return {
getMetadata: function () {
return {
name: "File upload plugin",
url: "https://instantcms.ru/"
};
}
};
});