plugin.min.js 28 KB

123456789
  1. /**
  2. * Copyright (c) Tiny Technologies, Inc. All rights reserved.
  3. * Licensed under the LGPL or a commercial license.
  4. * For LGPL see License.txt in the project root for license information.
  5. * For commercial licenses see https://www.tiny.cloud/
  6. *
  7. * Version: 5.0.7 (2019-06-05)
  8. */
  9. !function(s){"use strict";var e,n,t,r,i=tinymce.util.Tools.resolve("tinymce.PluginManager"),o=function(){},h=function(e){return function(){return e}},a=function(e){return e},u=h(!1),c=h(!0),l=u,f=c,d=function(){return m},m=(r={fold:function(e,n){return e()},is:l,isSome:l,isNone:f,getOr:t=function(e){return e},getOrThunk:n=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:t,orThunk:n,map:d,ap:d,each:function(){},bind:d,flatten:d,exists:l,forall:f,filter:d,equals:e=function(e){return e.isNone()},equals_:e,toArray:function(){return[]},toString:h("none()")},Object.freeze&&Object.freeze(r),r),g=function(t){var e=function(){return t},n=function(){return i},r=function(e){return e(t)},i={fold:function(e,n){return n(t)},is:function(e){return t===e},isSome:f,isNone:l,getOr:e,getOrThunk:e,getOrDie:e,getOrNull:e,getOrUndefined:e,or:n,orThunk:n,map:function(e){return g(e(t))},ap:function(e){return e.fold(d,function(e){return g(e(t))})},each:function(e){e(t)},bind:r,flatten:e,exists:r,forall:r,filter:function(e){return e(t)?i:m},equals:function(e){return e.is(t)},equals_:function(e,n){return e.fold(l,function(e){return n(t,e)})},toArray:function(){return[t]},toString:function(){return"some("+t+")"}};return i},w={some:g,none:d,from:function(e){return null===e||e===undefined?m:g(e)}},p=function(n){return function(e){return function(e){if(null===e)return"null";var n=typeof e;return"object"===n&&Array.prototype.isPrototypeOf(e)?"array":"object"===n&&String.prototype.isPrototypeOf(e)?"string":n}(e)===n}},O=p("string"),v=p("object"),b=p("boolean"),y=p("function"),S=(Array.prototype.slice,function(e,n){for(var t=0,r=e.length;t<r;t++)n(e[t],t,e)}),T=Array.prototype.push,N=function(e){for(var n=[],t=0,r=e.length;t<r;++t){if(!Array.prototype.isPrototypeOf(e[t]))throw new Error("Arr.flatten item "+t+" was not an array, input: "+e);T.apply(n,e[t])}return n},x=(y(Array.from)&&Array.from,function(){return(x=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)}),D=function(e){var t=w.none(),n=[],r=function(e){i()?a(e):n.push(e)},i=function(){return t.isSome()},o=function(e){S(e,a)},a=function(n){t.each(function(e){s.setTimeout(function(){n(e)},0)})};return e(function(e){t=w.some(e),o(n),n=[]}),{get:r,map:function(t){return D(function(n){r(function(e){n(t(e))})})},isReady:i}},E={nu:D,pure:function(n){return D(function(e){e(n)})}},A=function(n){var e=function(e){var r;n((r=e,function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var t=this;s.setTimeout(function(){r.apply(t,e)},0)}))},t=function(){return E.nu(e)};return{map:function(r){return A(function(t){e(function(e){var n=r(e);t(n)})})},bind:function(t){return A(function(n){e(function(e){t(e).get(n)})})},anonBind:function(t){return A(function(n){e(function(e){t.get(n)})})},toLazy:t,toCached:function(){var n=null;return A(function(e){null===n&&(n=t()),n.get(e)})},get:e}},C={nu:A,pure:function(n){return A(function(e){e(n)})}},U=function(t){return{is:function(e){return t===e},isValue:c,isError:u,getOr:h(t),getOrThunk:h(t),getOrDie:h(t),or:function(e){return U(t)},orThunk:function(e){return U(t)},fold:function(e,n){return n(t)},map:function(e){return U(e(t))},mapError:function(e){return U(t)},each:function(e){e(t)},bind:function(e){return e(t)},exists:function(e){return e(t)},forall:function(e){return e(t)},toOption:function(){return w.some(t)}}},I=function(t){return{is:u,isValue:u,isError:c,getOr:a,getOrThunk:function(e){return e()},getOrDie:function(){return e=String(t),function(){throw new Error(e)}();var e},or:function(e){return e},orThunk:function(e){return e()},fold:function(e,n){return e(t)},map:function(e){return I(t)},mapError:function(e){return I(e(t))},each:o,bind:function(e){return I(t)},exists:u,forall:c,toOption:w.none}},_={value:U,error:I,fromOption:function(e,n){return e.fold(function(){return I(n)},U)}},R=function(o){return x({},o,{toCached:function(){return R(o.toCached())},bindFuture:function(n){return R(o.bind(function(e){return e.fold(function(e){return C.pure(_.error(e))},function(e){return n(e)})}))},bindResult:function(n){return R(o.map(function(e){return e.bind(n)}))},mapResult:function(n){return R(o.map(function(e){return e.map(n)}))},mapError:function(n){return R(o.map(function(e){return e.mapError(n)}))},foldResult:function(n,t){return o.map(function(e){return e.fold(n,t)})},withTimeout:function(e,i){return R(C.nu(function(n){var t=!1,r=s.setTimeout(function(){t=!0,n(_.error(i()))},e);o.get(function(e){t||(s.clearTimeout(r),n(e))})}))}})},P=function(e){return R(C.nu(e))},L=P,k=Object.prototype.hasOwnProperty,M=function(a){return function(){for(var e=new Array(arguments.length),n=0;n<e.length;n++)e[n]=arguments[n];if(0===e.length)throw new Error("Can't merge zero objects");for(var t={},r=0;r<e.length;r++){var i=e[r];for(var o in i)k.call(i,o)&&(t[o]=a(t[o],i[o]))}return t}},H=M(function(e,n){return v(e)&&v(n)?H(e,n):n}),j=M(function(e,n){return n}),z="undefined"!=typeof s.window?s.window:Function("return this;")(),B=function(e,n){return function(e,n){for(var t=n!==undefined&&null!==n?n:z,r=0;r<e.length&&t!==undefined&&null!==t;++r)t=t[e[r]];return t}(e.split("."),n)},F={getOrDie:function(e,n){var t=B(e,n);if(t===undefined||null===t)throw e+" not available on this browser";return t}},W=function(){return F.getOrDie("URL")},G=function(e){return W().createObjectURL(e)},X=function(e){W().revokeObjectURL(e)},$=function(e){var n=e.imageList.map(function(e){return{name:"images",type:"selectbox",label:"Image list",items:e}}),t=e.classList.map(function(e){return{name:"classes",type:"selectbox",label:"Class",items:e}});return N([[{name:"src",type:"urlinput",filetype:"image",label:"Source"}],n.toArray(),e.hasDescription?[{name:"alt",type:"input",label:"Image description"}]:[],e.hasImageTitle?[{name:"title",type:"input",label:"Image title"}]:[],e.hasDimensions?[{name:"dimensions",type:"sizeinput"}]:[],[{type:"grid",columns:2,items:N([t.toArray(),e.hasImageCaption?[{type:"label",label:"Caption",items:[{type:"checkbox",name:"caption",label:"Show caption"}]}]:[]])}]])},q=function(e){return{title:"General",name:"general",items:$(e)}},V=$,J=tinymce.util.Tools.resolve("tinymce.util.Promise"),Y=tinymce.util.Tools.resolve("tinymce.util.XHR"),Z=function(e){return e.getParam("images_upload_url","","string")},K=function(e){return e.getParam("images_upload_handler",undefined,"function")},Q={hasDimensions:function(e){return e.getParam("image_dimensions",!0,"boolean")},hasUploadTab:function(e){return e.getParam("image_uploadtab",!0,"boolean")},hasAdvTab:function(e){return e.getParam("image_advtab",!1,"boolean")},getPrependUrl:function(e){return e.getParam("image_prepend_url","","string")},getClassList:function(e){return e.getParam("image_class_list")},hasDescription:function(e){return e.getParam("image_description",!0,"boolean")},hasImageTitle:function(e){return e.getParam("image_title",!1,"boolean")},hasImageCaption:function(e){return e.getParam("image_caption",!1,"boolean")},getImageList:function(e){return e.getParam("image_list",!1)},hasUploadUrl:function(e){return!!Z(e)},hasUploadHandler:function(e){return!!K(e)},getUploadUrl:Z,getUploadHandler:K,getUploadBasePath:function(e){return e.getParam("images_upload_base_path",undefined,"string")},getUploadCredentials:function(e){return e.getParam("images_upload_credentials",!1,"boolean")}},ee=function(e,n){return Math.max(parseInt(e,10),parseInt(n,10))},ne=function(e,n){var t=s.document.createElement("img"),r=function(e){t.parentNode&&t.parentNode.removeChild(t),n(e)};t.onload=function(){var e={width:ee(t.width,t.clientWidth),height:ee(t.height,t.clientHeight)};r(_.value(e))},t.onerror=function(){r(_.error("Failed to get image dimensions for: "+e))};var i=t.style;i.visibility="hidden",i.position="fixed",i.bottom=i.left="0px",i.width=i.height="auto",s.document.body.appendChild(t),t.src=e},te=function(e){return e&&(e=e.replace(/px$/,"")),e},re=function(e){return 0<e.length&&/^[0-9]+$/.test(e)&&(e+="px"),e},ie=function(e){if(e.margin){var n=String(e.margin).split(" ");switch(n.length){case 1:e["margin-top"]=e["margin-top"]||n[0],e["margin-right"]=e["margin-right"]||n[0],e["margin-bottom"]=e["margin-bottom"]||n[0],e["margin-left"]=e["margin-left"]||n[0];break;case 2:e["margin-top"]=e["margin-top"]||n[0],e["margin-right"]=e["margin-right"]||n[1],e["margin-bottom"]=e["margin-bottom"]||n[0],e["margin-left"]=e["margin-left"]||n[1];break;case 3:e["margin-top"]=e["margin-top"]||n[0],e["margin-right"]=e["margin-right"]||n[1],e["margin-bottom"]=e["margin-bottom"]||n[2],e["margin-left"]=e["margin-left"]||n[1];break;case 4:e["margin-top"]=e["margin-top"]||n[0],e["margin-right"]=e["margin-right"]||n[1],e["margin-bottom"]=e["margin-bottom"]||n[2],e["margin-left"]=e["margin-left"]||n[3]}delete e.margin}return e},oe=function(e,n){var t=Q.getImageList(e);"string"==typeof t?Y.send({url:t,success:function(e){n(JSON.parse(e))}}):"function"==typeof t?t(n):n(t)},ae=function(e,n,t){var r=function(){t.onload=t.onerror=null,e.selection&&(e.selection.select(t),e.nodeChanged())};t.onload=function(){n.width||n.height||!Q.hasDimensions(e)||e.dom.setAttribs(t,{width:String(t.clientWidth),height:String(t.clientHeight)}),r()},t.onerror=r},ue=function(i){return new J(function(e,n){var t=function r(){return new(F.getOrDie("FileReader"))}();t.onload=function(){e(t.result)},t.onerror=function(){n(t.error.message)},t.readAsDataURL(i)})},se=function(e){return"IMG"===e.nodeName&&(e.hasAttribute("data-mce-object")||e.hasAttribute("data-mce-placeholder"))},ce=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils").DOM,le=function(e){return e.style.marginLeft&&e.style.marginRight&&e.style.marginLeft===e.style.marginRight?te(e.style.marginLeft):""},fe=function(e){return e.style.marginTop&&e.style.marginBottom&&e.style.marginTop===e.style.marginBottom?te(e.style.marginTop):""},de=function(e){return e.style.borderWidth?te(e.style.borderWidth):""},me=function(e,n){return e.hasAttribute(n)?e.getAttribute(n):""},ge=function(e,n){return e.style[n]?e.style[n]:""},pe=function(e){return null!==e.parentNode&&"FIGURE"===e.parentNode.nodeName},he=function(e,n,t){e.setAttribute(n,t)},ve=function(e){var n,t,r,i;pe(e)?(i=(r=e).parentNode,ce.insertAfter(r,i),ce.remove(i)):(n=e,t=ce.create("figure",{"class":"image"}),ce.insertAfter(t,n),t.appendChild(n),t.appendChild(ce.create("figcaption",{contentEditable:"true"},"Caption")),t.contentEditable="false")},be=function(e,n){var t=e.getAttribute("style"),r=n(null!==t?t:"");0<r.length?(e.setAttribute("style",r),e.setAttribute("data-mce-style",r)):e.removeAttribute("style")},ye=function(e,r){return function(e,n,t){e.style[n]?(e.style[n]=re(t),be(e,r)):he(e,n,t)}},we=function(e,n){return e.style[n]?te(e.style[n]):me(e,n)},Oe=function(e,n){var t=re(n);e.style.marginLeft=t,e.style.marginRight=t},Se=function(e,n){var t=re(n);e.style.marginTop=t,e.style.marginBottom=t},Te=function(e,n){var t=re(n);e.style.borderWidth=t},Ne=function(e,n){e.style.borderStyle=n},xe=function(e){return"FIGURE"===e.nodeName},De=function(e,n){var t=s.document.createElement("img");return he(t,"style",n.style),(le(t)||""!==n.hspace)&&Oe(t,n.hspace),(fe(t)||""!==n.vspace)&&Se(t,n.vspace),(de(t)||""!==n.border)&&Te(t,n.border),(ge(t,"borderStyle")||""!==n.borderStyle)&&Ne(t,n.borderStyle),e(t.getAttribute("style"))},Ee=function(e,n){return{src:me(n,"src"),alt:me(n,"alt"),title:me(n,"title"),width:we(n,"width"),height:we(n,"height"),"class":me(n,"class"),style:e(me(n,"style")),caption:pe(n),hspace:le(n),vspace:fe(n),border:de(n),borderStyle:ge(n,"borderStyle")}},Ae=function(e,n,t,r,i){t[r]!==n[r]&&i(e,r,t[r])},Ce=function(r,i){return function(e,n,t){r(e,t),be(e,i)}},Ue=function(e,n,t){var r=Ee(e,t);Ae(t,r,n,"caption",function(e,n,t){return ve(e)}),Ae(t,r,n,"src",he),Ae(t,r,n,"alt",he),Ae(t,r,n,"title",he),Ae(t,r,n,"width",ye(0,e)),Ae(t,r,n,"height",ye(0,e)),Ae(t,r,n,"class",he),Ae(t,r,n,"style",Ce(function(e,n){return he(e,"style",n)},e)),Ae(t,r,n,"hspace",Ce(Oe,e)),Ae(t,r,n,"vspace",Ce(Se,e)),Ae(t,r,n,"border",Ce(Te,e)),Ae(t,r,n,"borderStyle",Ce(Ne,e))},Ie=function(e,n){var t=e.dom.styles.parse(n),r=ie(t),i=e.dom.styles.parse(e.dom.styles.serialize(r));return e.dom.styles.serialize(i)},_e=function(e){var n=e.selection.getNode(),t=e.dom.getParent(n,"figure.image");return t?e.dom.select("img",t)[0]:n&&("IMG"!==n.nodeName||se(n))?null:n},Re=function(n,e){var t=n.dom,r=t.getParent(e.parentNode,function(e){return n.schema.getTextBlockElements()[e.nodeName]},n.getBody());return r?t.split(r,e):e},Pe=function(n,e){var t=function(e,n){var t=s.document.createElement("img");if(Ue(e,j(n,{caption:!1}),t),he(t,"alt",n.alt),n.caption){var r=ce.create("figure",{"class":"image"});return r.appendChild(t),r.appendChild(ce.create("figcaption",{contentEditable:"true"},"Caption")),r.contentEditable="false",r}return t}(function(e){return Ie(n,e)},e);n.dom.setAttrib(t,"data-mce-id","__mcenew"),n.focus(),n.selection.setContent(t.outerHTML);var r=n.dom.select('*[data-mce-id="__mcenew"]')[0];if(n.dom.setAttrib(r,"data-mce-id",null),xe(r)){var i=Re(n,r);n.selection.select(i)}else n.selection.select(r)},Le=function(e,n){var t=_e(e);t?n.src?function(n,e){var t,r=_e(n);if(Ue(function(e){return Ie(n,e)},e,r),t=r,n.dom.setAttrib(t,"src",t.getAttribute("src")),xe(r.parentNode)){var i=r.parentNode;Re(n,i),n.selection.select(r.parentNode)}else n.selection.select(r),ae(n,e,r)}(e,n):function(e,n){if(n){var t=e.dom.is(n.parentNode,"figure.image")?n.parentNode:n;e.dom.remove(t),e.focus(),e.nodeChanged(),e.dom.isEmpty(e.getBody())&&(e.setContent(""),e.selection.setCursorLocation())}}(e,t):n.src&&Pe(e,n)},ke=tinymce.util.Tools.resolve("tinymce.util.Tools"),Me=function(e){return O(e.value)?e.value:""},He=function(e,i){var o=[];return ke.each(e,function(e){var n=O(e.text)?e.text:O(e.title)?e.title:"";if(e.menu!==undefined){var t=He(e.menu,i);o.push({text:n,items:t})}else{var r=i(e);o.push({text:n,value:r})}}),o},je=function(n){return void 0===n&&(n=Me),function(e){return e?w.from(e).map(function(e){return He(e,n)}):w.none()}},ze=function(e,t){return function(e,n){for(var t=0;t<e.length;t++){var r=n(e[t],t);if(r.isSome())return r}return w.none()}(e,function(e){return n=e,Object.prototype.hasOwnProperty.call(n,"items")?ze(e.items,t):e.value===t?w.some(e):w.none();var n})},Be=je,Fe=function(e){return je(Me)(e)},We=function(e,n){return e.bind(function(e){return ze(e,n)})};function Ge(u){var n=function(e,r,i,n){var o,t;(o=function a(){return new(F.getOrDie("XMLHttpRequest"))}()).open("POST",u.url),o.withCredentials=u.credentials,o.upload.onprogress=function(e){n(e.loaded/e.total*100)},o.onerror=function(){i("Image upload failed due to a XHR Transport error. Code: "+o.status)},o.onload=function(){var e,n,t;o.status<200||300<=o.status?i("HTTP Error: "+o.status):(e=JSON.parse(o.responseText))&&"string"==typeof e.location?r((n=u.basePath,t=e.location,n?n.replace(/\/$/,"")+"/"+t.replace(/^\//,""):t)):i("Invalid JSON: "+o.responseText)},(t=new s.FormData).append("file",e.blob(),e.filename()),o.send(t)};return u=ke.extend({credentials:!1,handler:n},u),{upload:function(e){return u.url||u.handler!==n?(r=e,i=u.handler,new J(function(e,n){try{i(r,e,n,o)}catch(t){n(t.message)}})):J.reject("Upload url missing from the settings.");var r,i}}}var Xe,$e,qe,Ve=function(e){return{title:"Advanced",name:"advanced",items:[{type:"input",label:"Style",name:"style"},{type:"grid",columns:2,items:[{type:"input",label:"Vertical space",name:"vspace"},{type:"input",label:"Horizontal space",name:"hspace"},{type:"input",label:"Border width",name:"border"},{type:"selectbox",name:"borderstyle",label:"Border style",items:[{text:"Select...",value:""},{text:"Solid",value:"solid"},{text:"Dotted",value:"dotted"},{text:"Dashed",value:"dashed"},{text:"Double",value:"double"},{text:"Groove",value:"groove"},{text:"Ridge",value:"ridge"},{text:"Inset",value:"inset"},{text:"Outset",value:"outset"},{text:"None",value:"none"},{text:"Hidden",value:"hidden"}]}]}]}},Je=function(t){var n,e,r=Be(function(e){return t.convertURL(e.value||e.url,"src")}),i=C.nu(function(n){oe(t,function(e){n(r(e).map(function(e){return N([[{text:"None",value:""}],e])}))})}),o=Fe(Q.getClassList(t)),a=Q.hasAdvTab(t),u=Q.hasUploadTab(t),s=Q.hasUploadUrl(t),c=Q.hasUploadHandler(t),l=(e=_e(n=t))?Ee(function(e){return Ie(n,e)},e):{src:"",alt:"",title:"",width:"",height:"","class":"",style:"",caption:!1,hspace:"",vspace:"",border:"",borderStyle:""},f=Q.hasDescription(t),d=Q.hasImageTitle(t),m=Q.hasDimensions(t),g=Q.hasImageCaption(t),p=Q.getUploadUrl(t),h=Q.getUploadBasePath(t),v=Q.getUploadCredentials(t),b=Q.getUploadHandler(t),y=w.some(Q.getPrependUrl(t)).filter(function(e){return O(e)&&0<e.length});return i.map(function(e){return{image:l,imageList:e,classList:o,hasAdvTab:a,hasUploadTab:u,hasUploadUrl:s,hasUploadHandler:c,hasDescription:f,hasImageTitle:d,hasDimensions:m,hasImageCaption:g,url:p,basePath:h,credentials:v,handler:b,prependURL:y}})},Ye=function(e){return{title:"Upload",name:"upload",items:[{type:"dropzone",name:"fileinput"}]}},Ze=function(e){return{src:{value:e.src,meta:{}},images:e.src,alt:e.alt,title:e.title,dimensions:{width:e.width,height:e.height},classes:e["class"],caption:e.caption,style:e.style,vspace:e.vspace,border:e.border,hspace:e.hspace,borderstyle:e.borderStyle,fileinput:[]}},Ke=function(e){return{src:e.src.value,alt:e.alt,title:e.title,width:e.dimensions.width,height:e.dimensions.height,"class":e.classes,style:e.style,caption:e.caption,hspace:e.hspace,vspace:e.vspace,border:e.border,borderStyle:e.borderstyle}},Qe=function(e,n){var t,r,i=n.getData();(t=e,r=i.src.value,/^(?:[a-zA-Z]+:)?\/\//.test(r)?w.none():t.prependURL.bind(function(e){return r.substring(0,e.length)!==e?w.some(e+r):w.none()})).each(function(e){n.setData({src:{value:e,meta:i.src.meta}})})},en=function(e,n){var t,r,i,o=n.getData(),a=o.src.meta;if(a!==undefined){var u=H({},o);r=u,i=a,(t=e).hasDescription&&O(i.alt)&&(r.alt=i.alt),t.hasImageTitle&&O(i.title)&&(r.title=i.title),t.hasDimensions&&(O(i.width)&&(r.dimensions.width=i.width),O(i.height)&&(r.dimensions.height=i.height)),O(i["class"])&&We(t.classList,i["class"]).each(function(e){r.classes=e.value}),t.hasImageCaption&&b(i.caption)&&(r.caption=i.caption),t.hasAdvTab&&(O(i.vspace)&&(r.vspace=i.vspace),O(i.border)&&(r.border=i.border),O(i.hspace)&&(r.hspace=i.hspace),O(i.borderstyle)&&(r.borderstyle=i.borderstyle)),n.setData(u)}},nn=function(e,n,t,r){var i,o,a,u,s,c,l,f,d,m,g,p;Qe(n,r),en(n,r),i=e,o=n,a=t,s=(u=r).getData(),c=s.src.value,(l=s.src.meta||{}).width||l.height||!o.hasDimensions||i.imageSize(c).get(function(e){e.each(function(e){a.open&&u.setData({dimensions:e})})}),f=n,d=t,g=(m=r).getData(),p=We(f.imageList,g.src.value),d.prevImage=p,m.setData({images:p.map(function(e){return e.value}).getOr("")})},tn=function(e,n,t){var r,i,o,a,u,s=ie(e(t.style)),c=H({},t);return c.vspace=(r=s)["margin-top"]&&r["margin-bottom"]&&r["margin-top"]===r["margin-bottom"]?te(String(r["margin-top"])):"",c.hspace=(i=s)["margin-right"]&&i["margin-left"]&&i["margin-right"]===i["margin-left"]?te(String(i["margin-right"])):"",c.border=(o=s)["border-width"]?te(String(o["border-width"])):"",c.borderstyle=(a=s)["border-style"]?String(a["border-style"]):"",c.style=(u=n)(e(u(s))),c},rn=function(a,u,s,c){var e,n=c.getData();c.block("Uploading image"),(e=n.fileinput,0===e.length?w.none():w.some(e[0])).fold(function(){c.unblock()},function(t){var r=G(t),i=Ge({url:u.url,basePath:u.basePath,credentials:u.credentials,handler:u.handler}),o=function(){c.unblock(),X(r)};ue(t).then(function(e){var n=a.createBlobCache(t,r,e);i.upload(n).then(function(e){c.setData({src:{value:e,meta:{}}}),c.showTab("general"),nn(a,u,s,c),o()})["catch"](function(e){o(),a.alertErr(c,e)})})})},on=function(h,v,b){return function(e,n){var t,r,i,o,a,u,s,c,l,f,d,m,g,p;"src"===n.name?nn(h,v,b,e):"images"===n.name?(l=h,f=v,d=b,g=(m=e).getData(),(p=We(f.imageList,g.images)).each(function(e){""===g.alt||d.prevImage.map(function(e){return e.text===g.alt}).getOr(!1)?""===e.value?m.setData({src:e,alt:d.prevAlt}):m.setData({src:e,alt:e.text}):m.setData({src:e})}),d.prevImage=p,nn(l,f,d,m)):"alt"===n.name?b.prevAlt=e.getData().alt:"style"===n.name?(a=h,s=(u=e).getData(),c=tn(a.parseStyle,a.serializeStyle,s),u.setData(c)):"vspace"===n.name||"hspace"===n.name||"border"===n.name||"borderstyle"===n.name?(t=h,r=e,i=H(Ze(v.image),r.getData()),o=De(t.normalizeCss,Ke(i)),r.setData({style:o})):"fileinput"===n.name&&rn(h,v,b,e)}},an=function(o){return function(e){var n,t,r,i={prevImage:We((n=e).imageList,n.image.src),prevAlt:n.image.alt,open:!0};return{title:"Insert/Edit Image",size:"normal",body:(r=e,r.hasAdvTab||r.hasUploadUrl||r.hasUploadHandler?{type:"tabpanel",tabs:N([[q(r)],r.hasAdvTab?[Ve(r)]:[],r.hasUploadTab&&(r.hasUploadUrl||r.hasUploadHandler)?[Ye(r)]:[]])}:{type:"panel",items:V(r)}),buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:Ze(e.image),onSubmit:o.onSubmit(e),onChange:on(o,e,i),onClose:(t=i,function(){t.open=!1})}}},un=function(n){var t,r,i,o,a,u,s,e={onSubmit:(s=n,function(t){return function(e){var n=H(Ze(t.image),e.getData());s.undoManager.transact(function(){Le(s,Ke(n))}),s.editorUpload.uploadImagesAuto(),e.close()}}),imageSize:(u=n,function(e){return L(function(t){ne(u.documentBaseURI.toAbsolute(e),function(e){var n=e.map(function(e){return{width:String(e.width),height:String(e.height)}});t(n)})})}),createBlobCache:(a=n,function(e,n,t){return a.editorUpload.blobCache.create({blob:e,blobUri:n,name:e.name?e.name.replace(/\.[^\.]+$/,""):null,base64:t.split(",")[1]})}),alertErr:(o=n,function(e,n){o.windowManager.alert(n,e.close)}),normalizeCss:(i=n,function(e){return Ie(i,e)}),parseStyle:(r=n,function(e){return r.dom.parseStyle(e)}),serializeStyle:(t=n,function(e,n){return t.dom.serializeStyle(e,n)})};return{open:function(){return Je(n).map(an(e)).get(function(e){n.windowManager.open(e)})}}},sn=function(e){e.addCommand("mceImage",un(e).open)},cn=function(o){return function(e){for(var n,t=e.length,r=function(e){e.attr("contenteditable",o?"true":null)};t--;){var i=e[t];(n=i.attr("class"))&&/\bimage\b/.test(n)&&(i.attr("contenteditable",o?"false":null),ke.each(i.getAll("figcaption"),r))}}},ln=function(e){e.on("PreInit",function(){e.parser.addNodeFilter("figure",cn(!0)),e.serializer.addNodeFilter("figure",cn(!1))})},fn=function(e){if(null===e||e===undefined)throw new Error("Node cannot be null or undefined");return{dom:h(e)}},dn={fromHtml:function(e,n){var t=(n||s.document).createElement("div");if(t.innerHTML=e,!t.hasChildNodes()||1<t.childNodes.length)throw s.console.error("HTML does not have a single root node",e),new Error("HTML must have a single root node");return fn(t.childNodes[0])},fromTag:function(e,n){var t=(n||s.document).createElement(e);return fn(t)},fromText:function(e,n){var t=(n||s.document).createTextNode(e);return fn(t)},fromDom:fn,fromPoint:function(e,n,t){var r=e.dom();return w.from(r.elementFromPoint(n,t)).map(fn)}},mn=(s.Node.ATTRIBUTE_NODE,s.Node.CDATA_SECTION_NODE,s.Node.COMMENT_NODE,s.Node.DOCUMENT_NODE,s.Node.DOCUMENT_TYPE_NODE,s.Node.DOCUMENT_FRAGMENT_NODE,s.Node.ELEMENT_NODE,s.Node.TEXT_NODE,s.Node.PROCESSING_INSTRUCTION_NODE,s.Node.ENTITY_REFERENCE_NODE,s.Node.ENTITY_NODE,s.Node.NOTATION_NODE,function(e,n){var t=function(e,n){for(var t=0;t<e.length;t++){var r=e[t];if(r.test(n))return r}return undefined}(e,n);if(!t)return{major:0,minor:0};var r=function(e){return Number(n.replace(t,"$"+e))};return pn(r(1),r(2))}),gn=function(){return pn(0,0)},pn=function(e,n){return{major:e,minor:n}},hn={nu:pn,detect:function(e,n){var t=String(n).toLowerCase();return 0===e.length?gn():mn(e,t)},unknown:gn},vn="Firefox",bn=function(e,n){return function(){return n===e}},yn=function(e){var n=e.current;return{current:n,version:e.version,isEdge:bn("Edge",n),isChrome:bn("Chrome",n),isIE:bn("IE",n),isOpera:bn("Opera",n),isFirefox:bn(vn,n),isSafari:bn("Safari",n)}},wn={unknown:function(){return yn({current:undefined,version:hn.unknown()})},nu:yn,edge:h("Edge"),chrome:h("Chrome"),ie:h("IE"),opera:h("Opera"),firefox:h(vn),safari:h("Safari")},On="Windows",Sn="Android",Tn="Solaris",Nn="FreeBSD",xn=function(e,n){return function(){return n===e}},Dn=function(e){var n=e.current;return{current:n,version:e.version,isWindows:xn(On,n),isiOS:xn("iOS",n),isAndroid:xn(Sn,n),isOSX:xn("OSX",n),isLinux:xn("Linux",n),isSolaris:xn(Tn,n),isFreeBSD:xn(Nn,n)}},En={unknown:function(){return Dn({current:undefined,version:hn.unknown()})},nu:Dn,windows:h(On),ios:h("iOS"),android:h(Sn),linux:h("Linux"),osx:h("OSX"),solaris:h(Tn),freebsd:h(Nn)},An=function(e,n){var t=String(n).toLowerCase();return function(e,n){for(var t=0,r=e.length;t<r;t++){var i=e[t];if(n(i,t,e))return w.some(i)}return w.none()}(e,function(e){return e.search(t)})},Cn=function(e,t){return An(e,t).map(function(e){var n=hn.detect(e.versionRegexes,t);return{current:e.name,version:n}})},Un=function(e,t){return An(e,t).map(function(e){var n=hn.detect(e.versionRegexes,t);return{current:e.name,version:n}})},In=function(e,n){return-1!==e.indexOf(n)},_n=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,Rn=function(n){return function(e){return In(e,n)}},Pn=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:function(e){return In(e,"edge/")&&In(e,"chrome")&&In(e,"safari")&&In(e,"applewebkit")}},{name:"Chrome",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,_n],search:function(e){return In(e,"chrome")&&!In(e,"chromeframe")}},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:function(e){return In(e,"msie")||In(e,"trident")}},{name:"Opera",versionRegexes:[_n,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:Rn("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:Rn("firefox")},{name:"Safari",versionRegexes:[_n,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:function(e){return(In(e,"safari")||In(e,"mobile/"))&&In(e,"applewebkit")}}],Ln=[{name:"Windows",search:Rn("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:function(e){return In(e,"iphone")||In(e,"ipad")},versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:Rn("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"OSX",search:Rn("os x"),versionRegexes:[/.*?os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:Rn("linux"),versionRegexes:[]},{name:"Solaris",search:Rn("sunos"),versionRegexes:[]},{name:"FreeBSD",search:Rn("freebsd"),versionRegexes:[]}],kn={browsers:h(Pn),oses:h(Ln)},Mn=function(e){var n,t,r,i,o,a,u,s,c,l,f,d=kn.browsers(),m=kn.oses(),g=Cn(d,e).fold(wn.unknown,wn.nu),p=Un(m,e).fold(En.unknown,En.nu);return{browser:g,os:p,deviceType:(t=g,r=e,i=(n=p).isiOS()&&!0===/ipad/i.test(r),o=n.isiOS()&&!i,a=n.isAndroid()&&3===n.version.major,u=n.isAndroid()&&4===n.version.major,s=i||a||u&&!0===/mobile/i.test(r),c=n.isiOS()||n.isAndroid(),l=c&&!s,f=t.isSafari()&&n.isiOS()&&!1===/safari/i.test(r),{isiPad:h(i),isiPhone:h(o),isTablet:h(s),isPhone:h(l),isTouch:h(c),isAndroid:n.isAndroid,isiOS:n.isiOS,isWebView:h(f)})}},Hn=((Xe=function(){var e=s.navigator.userAgent;return Mn(e)},qe=!1,function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return qe||(qe=!0,$e=Xe.apply(null,e)),$e}()).browser.isIE(),function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n]}("element","offset"),function(o){o.ui.registry.addToggleButton("image",{icon:"image",tooltip:"Insert/edit image",onAction:un(o).open,onSetup:function(e){return o.selection.selectorChangedWithUnbind("img:not([data-mce-object],[data-mce-placeholder]),figure.image",e.setActive).unbind}}),o.ui.registry.addMenuItem("image",{icon:"image",text:"Image...",onAction:un(o).open}),o.ui.registry.addContextMenu("image",{update:function(e){return xe(e)||"IMG"===e.nodeName&&!se(e)?[(i=e,{text:"Image",icon:"image",onAction:function(){var e,n,t,r=((Xe=function(){var e=s.navigator.userAgent;return Mn(e)},qe=!1,function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return qe||(qe=!0,$e=Xe.apply(null,e)),$e}()).browser.isIE(),function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n]}("element","offset"),e=dn.fromDom(i),(n=e,t=n.dom(),w.from(t.parentNode).map(dn.fromDom)).filter(function(e){return"figure"===e.dom().nodeName.toLowerCase()}).getOr(e));o.selection.select(r.dom()),un(o).open()}})]:[];var i}})});i.add("image",function(e){ln(e),Hn(e),sn(e)}),function jn(){}}(window);