diff --git a/lang/en/static/javascript/auto/65_easy_pages.js b/lang/en/static/javascript/auto/65_easy_pages.js index 33d1f15..e273974 100644 --- a/lang/en/static/javascript/auto/65_easy_pages.js +++ b/lang/en/static/javascript/auto/65_easy_pages.js @@ -28,12 +28,15 @@ var initTinyMCE_for_easy_pages = function(id,replacements, preview_substitutions relative_urls : true, //document_base_url : 'http://example.eprints.org/', - as a value unique to each repository, this should be passed in or commented out/left at default. + promotion: false, // Don't show the promotion popup + license_key: 'gpl', // This is licensed under GPLv2.1 + // Functionality: plugins: [ - 'advlist autolink lists link image charmap print anchor', - 'searchreplace visualblocks code fullscreen preview_with_css_branding', // unique preview variation. - 'insertdatetime media table contextmenu paste code textpattern', // textpattern 4.9.1 not in richtext ingredient - // and so added with/alongside easy_pages implementation + 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', + 'anchor', 'searchreplace', 'visualblocks', 'code', 'fullscreen', + 'insertdatetime', 'media', 'table', + 'preview_with_css_branding', // modified version of preview (see version.txt) ], // Custom values for preview_with diff --git a/lang/en/static/javascript/plugins/preview_with_css_branding/plugin.min.js b/lang/en/static/javascript/plugins/preview_with_css_branding/plugin.min.js index d03b240..01f323c 100644 --- a/lang/en/static/javascript/plugins/preview_with_css_branding/plugin.min.js +++ b/lang/en/static/javascript/plugins/preview_with_css_branding/plugin.min.js @@ -1 +1,8 @@ -!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i",buttons:{text:"Close",onclick:function(){this.parent().parent().close()}},onPostRender:function(){var b,f="";f+='',c.each(a.contentCSS,function(b){f+=''});var g=d.body_id||"tinymce";g.indexOf("=")!=-1&&(g=a.getParam("body_id","","hash"),g=g[a.id]||g);var h=d.body_class||"";h.indexOf("=")!=-1&&(h=a.getParam("body_class","","hash"),h=h[a.id]||"");var i=' ',j=a.settings.directionality?' dir="'+a.settings.directionality+'"':"";let filteredContent = a.getContent();let substitutions = a.getParam("preview_substitutions", {});for(let currentKey in substitutions){let pattern=new RegExp (`PUT-${currentKey}-HERE`, 'g');filteredContent=filteredContent.replace(pattern, substitutions[currentKey])};if(b=""+f+''+'"+filteredContent+i+"",e)this.getEl("body").firstChild.src="data:text/html;charset=utf-8,"+encodeURIComponent(b);else{var k=this.getEl("body").firstChild.contentWindow.document;k.open(),k.write(b),k.close()}}})}),a.addButton("preview_with_css_branding",{title:"Preview",icon:"preview",cmd:"mcepreview_with_css_branding"}),a.addMenuItem("preview_with_css_branding",{text:"Preview",cmd:"mcepreview_with_css_branding",context:"view"})}),function(){}}),d("0")()}(); +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>undefined===e;const r=e=>()=>e,n=r(!1);class s{constructor(e,t){this.tag=e,this.value=t}static some(e){return new s(!0,e)}static none(){return s.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?s.some(e(this.value)):s.none()}bind(e){return this.tag?e(this.value):s.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:s.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return null==e?s.none():s.some(e)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}s.singletonNone=new s(!1);const i=(e,t)=>((e,t,r)=>{for(let n=0,i=e.length;n{const i=e.indexOf(r,n);return-1!==i&&(!!t(s)||i+r.length<=s)},a=()=>c(0,0),c=(e,t)=>({major:e,minor:t}),u={nu:c,detect:(e,t)=>{const r=String(t).toLowerCase();return 0===e.length?a():((e,t)=>{const r=((e,t)=>{for(let r=0;rNumber(t.replace(r,"$"+e));return c(n(1),n(2))})(e,r)},unknown:a},l=(e,t)=>{const r=String(t).toLowerCase();return i(e,(e=>e.search(r)))},d=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,h=e=>t=>o(t,e),m=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>o(e,"edge/")&&o(e,"chrome")&&o(e,"safari")&&o(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,d],search:e=>o(e,"chrome")&&!o(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>o(e,"msie")||o(e,"trident")},{name:"Opera",versionRegexes:[d,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:h("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:h("firefox")},{name:"Safari",versionRegexes:[d,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(o(e,"safari")||o(e,"mobile/"))&&o(e,"applewebkit")}],v=[{name:"Windows",search:h("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>o(e,"iphone")||o(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:h("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:h("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:h("linux"),versionRegexes:[]},{name:"Solaris",search:h("sunos"),versionRegexes:[]},{name:"FreeBSD",search:h("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:h("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],g={browsers:r(m),oses:r(v)},p="Edge",f="Chromium",w="Opera",x="Firefox",S="Safari",y=e=>{const t=e.current,r=e.version,n=e=>()=>t===e;return{current:t,version:r,isEdge:n(p),isChromium:n(f),isIE:n("IE"),isOpera:n(w),isFirefox:n(x),isSafari:n(S)}},b=()=>y({current:void 0,version:u.unknown()}),O=y,R=(r(p),r(f),r("IE"),r(w),r(x),r(S),"Windows"),C="Android",A="Linux",k="macOS",D="Solaris",E="FreeBSD",I="ChromeOS",P=e=>{const t=e.current,r=e.version,n=e=>()=>t===e;return{current:t,version:r,isWindows:n(R),isiOS:n("iOS"),isAndroid:n(C),isMacOS:n(k),isLinux:n(A),isSolaris:n(D),isFreeBSD:n(E),isChromeOS:n(I)}},T=()=>P({current:void 0,version:u.unknown()}),_=P,B=(r(R),r("iOS"),r(C),r(A),r(k),r(D),r(E),r(I),(e,t,n)=>{const o=g.browsers(),a=g.oses(),c=t.bind((e=>((e,t)=>((e,t)=>{for(let r=0;r{const r=t.brand.toLowerCase();return i(e,(e=>{var t;return r===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:u.nu(parseInt(t.version,10),0)})))})))(o,e))).orThunk((()=>((e,t)=>l(e,t).map((e=>{const r=u.detect(e.versionRegexes,t);return{current:e.name,version:r}})))(o,e))).fold(b,O),d=((e,t)=>l(e,t).map((e=>{const r=u.detect(e.versionRegexes,t);return{current:e.name,version:r}})))(a,e).fold(T,_),h=((e,t,n,s)=>{const i=e.isiOS()&&!0===/ipad/i.test(n),o=e.isiOS()&&!i,a=e.isiOS()||e.isAndroid(),c=a||s("(pointer:coarse)"),u=i||!o&&a&&s("(min-device-width:768px)"),l=o||a&&!u,d=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(n),h=!l&&!u&&!d;return{isiPad:r(i),isiPhone:r(o),isTablet:r(u),isPhone:r(l),isTouch:r(c),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:r(d),isDesktop:r(h)}})(d,c,e,n);return{browser:c,os:d,deviceType:h}}),L=e=>window.matchMedia(e).matches;let N=(e=>{let t,r=!1;return(...n)=>(r||(r=!0,t=e.apply(null,n)),t)})((()=>B(window.navigator.userAgent,s.from(window.navigator.userAgentData),L)));const F=()=>N();var M=tinymce.util.Tools.resolve("tinymce.util.Tools");const $=e=>t=>t.options.get(e),W=$("content_style"),U=$("content_css_cors"),K=$("body_class"),j=$("body_id"),V=e=>{const t=(e=>{var t;let r="";const n=e.dom.encode,s=null!==(t=W(e))&&void 0!==t?t:"";r+=``;const i=U(e)?' crossorigin="anonymous"':"";M.each(e.contentCSS,(t=>{r+='"})),s&&(r+='");const o=j(e),a=K(e),c=e.getBody().dir,u=c?' dir="'+n(c)+'"':""; +let filteredContent = e.getContent(); +let substitutions = e.getParam("preview_substitutions", {}); +for (let currentKey in substitutions) { + let pattern = new RegExp(`PUT-${currentKey}-HERE`, 'g'); + filteredContent=filteredContent.replace(pattern, substitutions[currentKey]); +} +return""+r+ '' +'"+filteredContent+(()=>{const e=F().os.isMacOS()||F().os.isiOS();return`