UNPKG

landmark-serve

Version:

Web Application Framework and Admin GUI / Content Management System built on Express.js and Mongoose

1 lines 3.54 kB
!function(){tinymce.PluginManager.requireLangPack("uploadimage"),tinymce.create("tinymce.plugins.UploadImage",{UploadImage:function(a,b){function h(){e=g.windowManager.open({title:a.translate("Insert an image from your computer"),width:500+parseInt(g.getLang("uploadimage.delta_width",0),10),height:180+parseInt(g.getLang("uploadimage.delta_height",0),10),body:[{type:"iframe",url:"javascript:void(0)"},{type:"textbox",name:"file",label:a.translate("Choose an image"),subtype:"file"},{type:"textbox",name:"alt",label:a.translate("Image description")},{type:"container",classes:"error",html:"<p style='color: #b94a48;'>&nbsp;</p>"},{type:"container",classes:"throbber"}],buttons:[{text:a.translate("Insert"),onclick:i,subtype:"primary"},{text:a.translate("Cancel"),onclick:a.windowManager.close}]},{plugin_url:b}),e.off("submit"),e.on("submit",i),d=e.find("iframe")[0],c=n("form",{action:a.getParam("uploadimage_form_url","/tinymce_assets"),target:d._id,method:"POST",enctype:"multipart/form-data",accept_charset:"UTF-8"}),d.getEl().name=d._id,c.appendChild(n("input",{type:"hidden",name:"utf8",value:"\u2713"})),c.appendChild(n("input",{type:"hidden",name:"authenticity_token",value:q("csrf-token")})),c.appendChild(n("input",{type:"hidden",name:"hint",value:a.getParam("uploadimage_hint","")}));for(var f=e.getEl(),h=document.getElementById(f.id+"-body"),j=h.getElementsByClassName("mce-container"),k=0;k<j.length;k++)c.appendChild(j[k]);for(var l=c.getElementsByTagName("input"),k=0;k<l.length;k++){var m=l[k];"input"==m.tagName.toLowerCase()&&"hidden"!=m.type&&("file"==m.type?(m.name="file",tinymce.DOM.setStyles(m,{border:0,boxShadow:"none",webkitBoxShadow:"none"})):m.name="alt")}h.appendChild(c)}function i(){if(""==p("file"))return m("You must choose a file");f=new top.tinymce.ui.Throbber(e.getEl()),f.show(),l();var a=d.getEl();a.attachEvent?(a.detachEvent("onload",j),a.attachEvent("onload",j)):(a.removeEventListener("load",j),a.addEventListener("load",j,!1)),c.submit()}function j(){f&&f.hide();var a=d.getEl();if(a.document||a.contentDocument){var b=a.contentDocument||a.contentWindow.document;k(b.getElementsByTagName("body")[0].innerHTML)}else m("Didn't get a response from the server")}function k(b){try{var c=tinymce.util.JSON.parse(b);c.error?m(c.error.message):(a.execCommand("mceInsertContent",!1,o(c)),a.windowManager.close())}catch(d){m("Got a bad response from the server")}}function l(){var a=e.find(".error")[0].getEl();a&&(a.getElementsByTagName("p")[0].innerHTML="&nbsp;")}function m(b){var c=e.find(".error")[0].getEl();c&&(c.getElementsByTagName("p")[0].innerHTML=a.translate(b))}function n(a,b){var c=document.createElement(a);for(var d in b)b[d]instanceof Function||(c[d]=b[d]);return c}function o(b){var c=a.getParam("uploadimage_default_img_class",""),d=p("alt"),e="<img src='"+b.image.url+"'";return""!=c&&(e+=" class='"+c+"'"),b.image.height&&(e+=" height='"+b.image.height+"'"),b.image.width&&(e+=" width='"+b.image.width+"'"),e+=" alt='"+d+"'/>"}function p(a){var b=c.getElementsByTagName("input");for(var d in b)if(b[d].name==a)return b[d].value;return""}function q(a){var b=document.getElementsByTagName("meta");for(var c in b)if(b[c].name==a)return b[c].content;return null}var c,d,e,f,g=a;g.addButton("uploadimage",{tooltip:a.translate("Insert an image from your computer"),icon:"image",onclick:h}),g.addMenuItem("uploadimage",{text:a.translate("Insert an image from your computer"),icon:"image",context:"insert",onclick:h})}}),tinymce.PluginManager.add("uploadimage",tinymce.plugins.UploadImage)}();