From 15dee0ca48c1781b1580698d6cc3f205db4196c3 Mon Sep 17 00:00:00 2001 From: David Wheatley Date: Wed, 13 Oct 2021 12:00:05 +0100 Subject: [PATCH] chore: fix JS --- extensions/embed/js/dist/forum.js | 2 -- extensions/embed/js/dist/forum.js.map | 1 - extensions/embed/js/package.json | 6 +++--- 3 files changed, 3 insertions(+), 6 deletions(-) delete mode 100644 extensions/embed/js/dist/forum.js delete mode 100644 extensions/embed/js/dist/forum.js.map diff --git a/extensions/embed/js/dist/forum.js b/extensions/embed/js/dist/forum.js deleted file mode 100644 index 81fd27d4d..000000000 --- a/extensions/embed/js/dist/forum.js +++ /dev/null @@ -1,2 +0,0 @@ -(()=>{var e={402:e=>{!function(t){if("undefined"!=typeof window){var n=!0,o="",i=0,r="",a=null,c="",s=!1,u={resize:1,click:1},d=128,l=!0,m=1,f="bodyOffset",p=f,h=!0,g="",v={},y=32,b=null,w=!1,T="[iFrameSizer]",S=T.length,E="",O={max:1,min:1,bodyScroll:1,documentElementScroll:1},M="child",I=!0,N=window.parent,x="*",A=0,C=!1,k=null,P=16,z=1,R="scroll",F=R,L=window,j=function(){ce("onMessage function not defined")},D=function(){},q=function(){},H={height:function(){return ce("Custom height calculation function not defined"),document.documentElement.offsetHeight},width:function(){return ce("Custom width calculation function not defined"),document.body.scrollWidth}},W={},B=!1;try{var U=Object.create({},{passive:{get:function(){B=!0}}});window.addEventListener("test",te,U),window.removeEventListener("test",te,U)}catch(e){}var _,J,V,K,Q,X,Y,$=Date.now||function(){return(new Date).getTime()},G={bodyOffset:function(){return document.body.offsetHeight+be("marginTop")+be("marginBottom")},offset:function(){return G.bodyOffset()},bodyScroll:function(){return document.body.scrollHeight},custom:function(){return H.height()},documentElementOffset:function(){return document.documentElement.offsetHeight},documentElementScroll:function(){return document.documentElement.scrollHeight},max:function(){return Math.max.apply(null,Te(G))},min:function(){return Math.min.apply(null,Te(G))},grow:function(){return G.max()},lowestElement:function(){return Math.max(G.bodyOffset()||G.documentElementOffset(),we("bottom",Ee()))},taggedElement:function(){return Se("bottom","data-iframe-height")}},Z={bodyScroll:function(){return document.body.scrollWidth},bodyOffset:function(){return document.body.offsetWidth},custom:function(){return H.width()},documentElementScroll:function(){return document.documentElement.scrollWidth},documentElementOffset:function(){return document.documentElement.offsetWidth},scroll:function(){return Math.max(Z.bodyScroll(),Z.documentElementScroll())},max:function(){return Math.max.apply(null,Te(Z))},min:function(){return Math.min.apply(null,Te(Z))},rightMostElement:function(){return we("right",Ee())},taggedElement:function(){return Se("right","data-iframe-width")}},ee=(_=Oe,Q=null,X=0,Y=function(){X=$(),Q=null,K=_.apply(J,V),Q||(J=V=null)},function(){var e=$();X||(X=e);var t=P-(e-X);return J=this,V=arguments,t<=0||t>P?(Q&&(clearTimeout(Q),Q=null),X=e,K=_.apply(J,V),Q||(J=V=null)):Q||(Q=setTimeout(Y,t)),K});ne(window,"message",Ce),ne(window,"readystatechange",ke),ke()}function te(){}function ne(e,t,n,o){e.addEventListener(t,n,!!B&&(o||{}))}function oe(e,t,n){e.removeEventListener(t,n,!1)}function ie(e){return e.charAt(0).toUpperCase()+e.slice(1)}function re(e){return T+"["+E+"] "+e}function ae(e){w&&"object"==typeof window.console&&console.log(re(e))}function ce(e){"object"==typeof window.console&&console.warn(re(e))}function se(){var e,a;!function(){function e(e){return"true"===e}var a=g.substr(S).split(":");E=a[0],i=t!==a[1]?Number(a[1]):i,s=t!==a[2]?e(a[2]):s,w=t!==a[3]?e(a[3]):w,y=t!==a[4]?Number(a[4]):y,n=t!==a[6]?e(a[6]):n,r=a[7],p=t!==a[8]?a[8]:p,o=a[9],c=a[10],A=t!==a[11]?Number(a[11]):A,v.enable=t!==a[12]&&e(a[12]),M=t!==a[13]?a[13]:M,F=t!==a[14]?a[14]:F}(),ae("Initialising iFrame ("+location.href+")"),function(){function e(e,t){return"function"==typeof e&&(ae("Setup custom "+t+"CalcMethod"),H[t]=e,e="custom"),e}var t;"iFrameResizer"in window&&Object===window.iFrameResizer.constructor&&(t=window.iFrameResizer,ae("Reading data from page: "+JSON.stringify(t)),Object.keys(t).forEach(ue,t),j="onMessage"in t?t.onMessage:j,D="onReady"in t?t.onReady:D,x="targetOrigin"in t?t.targetOrigin:x,p="heightCalculationMethod"in t?t.heightCalculationMethod:p,F="widthCalculationMethod"in t?t.widthCalculationMethod:F,p=e(p,"height"),F=e(F,"width")),ae("TargetOrigin for parent set to: "+x)}(),t===r&&(r=i+"px"),de("margin",(-1!==(a=r).indexOf("-")&&(ce("Negative CSS value ignored for margin"),a=""),a)),de("background",o),de("padding",c),(e=document.createElement("div")).style.clear="both",e.style.display="block",e.style.height="0",document.body.appendChild(e),pe(),he(),document.documentElement.style.height="",document.body.style.height="",ae('HTML & body height set to "auto"'),ae("Enable public methods"),L.parentIFrame={autoResize:function(e){return!0===e&&!1===n?(n=!0,ge()):!1===e&&!0===n&&(n=!1,ve()),n},close:function(){Ae(0,0,"close"),ae("Disable outgoing messages"),I=!1,ae("Remove event listener: Message"),oe(window,"message",Ce),!0===n&&ve()},getId:function(){return E},getPageInfo:function(e){"function"==typeof e?(q=e,Ae(0,0,"pageInfo")):(q=function(){},Ae(0,0,"pageInfoStop"))},moveToAnchor:function(e){v.findTarget(e)},reset:function(){xe("parentIFrame.reset")},scrollTo:function(e,t){Ae(t,e,"scrollTo")},scrollToOffset:function(e,t){Ae(t,e,"scrollToOffset")},sendMessage:function(e,t){Ae(0,0,"message",JSON.stringify(e),t)},setHeightCalculationMethod:function(e){p=e,pe()},setWidthCalculationMethod:function(e){F=e,he()},setTargetOrigin:function(e){ae("Set targetOrigin: "+e),x=e},size:function(e,t){Me("size","parentIFrame.size("+(e||"")+(t?","+t:"")+")",e,t)}},ge(),v=function(){function e(e){var n=e.getBoundingClientRect(),o={x:window.pageXOffset!==t?window.pageXOffset:document.documentElement.scrollLeft,y:window.pageYOffset!==t?window.pageYOffset:document.documentElement.scrollTop};return{x:parseInt(n.left,10)+parseInt(o.x,10),y:parseInt(n.top,10)+parseInt(o.y,10)}}function n(n){var o=n.split("#")[1]||n,i=decodeURIComponent(o),r=document.getElementById(i)||document.getElementsByName(i)[0];t!==r?function(t){var n=e(t);ae("Moving to in page link (#"+o+") at x: "+n.x+" y: "+n.y),Ae(n.y,n.x,"scrollToOffset")}(r):(ae("In page link (#"+o+") not found in iFrame, so sending to parent"),Ae(0,0,"inPageLink","#"+o))}function o(){""!==location.hash&&"#"!==location.hash&&n(location.href)}return v.enable?Array.prototype.forEach&&document.querySelectorAll?(ae("Setting up location.hash handlers"),Array.prototype.forEach.call(document.querySelectorAll('a[href^="#"]'),(function(e){"#"!==e.getAttribute("href")&&ne(e,"click",(function(e){e.preventDefault(),n(this.getAttribute("href"))}))})),ne(window,"hashchange",o),setTimeout(o,d)):ce("In page linking not fully supported in this browser! (See README.md for IE8 workaround)"):ae("In page linking not enabled"),{findTarget:n}}(),Me("init","Init message from host page"),D()}function ue(e){var t=e.split("Callback");if(2===t.length){var n="on"+t[0].charAt(0).toUpperCase()+t[0].slice(1);this[n]=this[e],delete this[e],ce("Deprecated: '"+e+"' has been renamed '"+n+"'. The old method will be removed in the next major version.")}}function de(e,n){t!==n&&""!==n&&"null"!==n&&(document.body.style[e]=n,ae("Body "+e+' set to "'+n+'"'))}function le(e){var t={add:function(t){function n(){Me(e.eventName,e.eventType)}W[t]=n,ne(window,t,n,{passive:!0})},remove:function(e){var t=W[e];delete W[e],oe(window,e,t)}};e.eventNames&&Array.prototype.map?(e.eventName=e.eventNames[0],e.eventNames.map(t[e.method])):t[e.method](e.eventName),ae(ie(e.method)+" event listener: "+e.eventType)}function me(e){le({method:e,eventType:"Animation Start",eventNames:["animationstart","webkitAnimationStart"]}),le({method:e,eventType:"Animation Iteration",eventNames:["animationiteration","webkitAnimationIteration"]}),le({method:e,eventType:"Animation End",eventNames:["animationend","webkitAnimationEnd"]}),le({method:e,eventType:"Input",eventName:"input"}),le({method:e,eventType:"Mouse Up",eventName:"mouseup"}),le({method:e,eventType:"Mouse Down",eventName:"mousedown"}),le({method:e,eventType:"Orientation Change",eventName:"orientationchange"}),le({method:e,eventType:"Print",eventName:["afterprint","beforeprint"]}),le({method:e,eventType:"Ready State Change",eventName:"readystatechange"}),le({method:e,eventType:"Touch Start",eventName:"touchstart"}),le({method:e,eventType:"Touch End",eventName:"touchend"}),le({method:e,eventType:"Touch Cancel",eventName:"touchcancel"}),le({method:e,eventType:"Transition Start",eventNames:["transitionstart","webkitTransitionStart","MSTransitionStart","oTransitionStart","otransitionstart"]}),le({method:e,eventType:"Transition Iteration",eventNames:["transitioniteration","webkitTransitionIteration","MSTransitionIteration","oTransitionIteration","otransitioniteration"]}),le({method:e,eventType:"Transition End",eventNames:["transitionend","webkitTransitionEnd","MSTransitionEnd","oTransitionEnd","otransitionend"]}),"child"===M&&le({method:e,eventType:"IFrame Resized",eventName:"resize"})}function fe(e,t,n,o){return t!==e&&(e in n||(ce(e+" is not a valid option for "+o+"CalculationMethod."),e=t),ae(o+' calculation method set to "'+e+'"')),e}function pe(){p=fe(p,f,G,"height")}function he(){F=fe(F,R,Z,"width")}function ge(){var e;!0===n?(me("add"),e=0>y,window.MutationObserver||window.WebKitMutationObserver?e?ye():a=function(){function e(e){function t(e){!1===e.complete&&(ae("Attach listeners to "+e.src),e.addEventListener("load",i,!1),e.addEventListener("error",r,!1),c.push(e))}"attributes"===e.type&&"src"===e.attributeName?t(e.target):"childList"===e.type&&Array.prototype.forEach.call(e.target.querySelectorAll("img"),t)}function n(e){ae("Remove listeners from "+e.src),e.removeEventListener("load",i,!1),e.removeEventListener("error",r,!1),function(e){c.splice(c.indexOf(e),1)}(e)}function o(e,o,i){n(e.target),Me(o,i+": "+e.target.src,t,t)}function i(e){o(e,"imageLoad","Image loaded")}function r(e){o(e,"imageLoadFailed","Image load failed")}function a(t){Me("mutationObserver","mutationObserver: "+t[0].target+" "+t[0].type),t.forEach(e)}var c=[],s=window.MutationObserver||window.WebKitMutationObserver,u=function(){var e=document.querySelector("body");return u=new s(a),ae("Create body MutationObserver"),u.observe(e,{attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0}),u}();return{disconnect:function(){"disconnect"in u&&(ae("Disconnect body MutationObserver"),u.disconnect(),c.forEach(n))}}}():(ae("MutationObserver not supported in this browser!"),ye())):ae("Auto Resize disabled")}function ve(){me("remove"),null!==a&&a.disconnect(),clearInterval(b)}function ye(){0!==y&&(ae("setInterval: "+y+"ms"),b=setInterval((function(){Me("interval","setInterval: "+y)}),Math.abs(y)))}function be(e,t){var n=0;return t=t||document.body,n=null!==(n=document.defaultView.getComputedStyle(t,null))?n[e]:0,parseInt(n,10)}function we(e,t){for(var n=t.length,o=0,i=0,r=ie(e),a=$(),c=0;ci&&(i=o);return a=$()-a,ae("Parsed "+n+" HTML elements"),ae("Element position calculated in "+a+"ms"),function(e){e>P/2&&ae("Event throttle increased to "+(P=2*e)+"ms")}(a),i}function Te(e){return[e.bodyOffset(),e.bodyScroll(),e.documentElementOffset(),e.documentElementScroll()]}function Se(e,t){var n=document.querySelectorAll("["+t+"]");return 0===n.length&&(ce("No tagged elements ("+t+") found on page"),document.querySelectorAll("body *")),we(e,n)}function Ee(){return document.querySelectorAll("body *")}function Oe(e,n,o,i){var r,a;!function(){function e(e,t){return!(Math.abs(e-t)<=A)}return r=t!==o?o:G[p](),a=t!==i?i:Z[F](),e(m,r)||s&&e(z,a)}()&&"init"!==e?!(e in{init:1,interval:1,size:1})&&(p in O||s&&F in O)?xe(n):e in{interval:1}||ae("No change in size detected"):(Ie(),Ae(m=r,z=a,e))}function Me(e,t,n,o){C&&e in u?ae("Trigger event cancelled: "+e):(e in{reset:1,resetPage:1,init:1}||ae("Trigger event: "+t),"init"===e?Oe(e,t,n,o):ee(e,t,n,o))}function Ie(){C||(C=!0,ae("Trigger event lock on")),clearTimeout(k),k=setTimeout((function(){C=!1,ae("Trigger event lock off"),ae("--")}),d)}function Ne(e){m=G[p](),z=Z[F](),Ae(m,z,e)}function xe(e){var t=p;p=f,ae("Reset trigger event: "+e),Ie(),Ne("reset"),p=t}function Ae(e,n,o,i,r){var a;!0===I&&(t===r?r=x:ae("Message targetOrigin: "+r),ae("Sending message to host page ("+(a=E+":"+e+":"+n+":"+o+(t!==i?":"+i:""))+")"),N.postMessage(T+a,r))}function Ce(t){var n,o={init:function(){g=t.data,N=t.source,se(),l=!1,setTimeout((function(){h=!1}),d)},reset:function(){h?ae("Page reset ignored by init"):(ae("Page size reset by host page"),Ne("resetPage"))},resize:function(){Me("resizeParent","Parent window requested size check")},moveToAnchor:function(){v.findTarget(r())},inPageLink:function(){this.moveToAnchor()},pageInfo:function(){var e=r();ae("PageInfoFromParent called from parent: "+e),q(JSON.parse(e)),ae(" --")},message:function(){var e=r();ae("onMessage called from parent: "+e),j(JSON.parse(e)),ae(" --")}};function i(){return t.data.split("]")[1].split(":")[0]}function r(){return t.data.substr(t.data.indexOf(":")+1)}function a(){return t.data.split(":")[2]in{true:1,false:1}}T===(""+t.data).substr(0,S)&&(!1===l?(n=i())in o?o[n]():!e.exports&&"iFrameResize"in window||"jQuery"in window&&"iFrameResize"in window.jQuery.prototype||a()||ce("Unexpected message ("+t.data+")"):a()?o.init():ae('Ignored message of type "'+i()+'". Received before initialization.'))}function ke(){"loading"!==document.readyState&&window.parent.postMessage("[iFrameResizerChild]Ready","*")}}()}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var r=t[o]={exports:{}};return e[o](r,r.exports,n),r.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};(()=>{"use strict";n.r(o),n(402);const e=flarum.core.compat.extend,t=flarum.core.compat.app;var i=n.n(t);const r=flarum.core.compat["utils/Stream"];var a=n.n(r);const c=flarum.core.compat.ForumApplication;var s=n.n(c);const u=flarum.core.compat["components/Composer"];var d=n.n(u);const l=flarum.core.compat["components/PostStream"];var f=n.n(l);const p=flarum.core.compat["components/ModalManager"];var h=n.n(p);const g=flarum.core.compat["components/PostMeta"];var v=n.n(g);const y=flarum.core.compat["components/DiscussionPage"];var b=n.n(y);(0,e.extend)(s().prototype,"mount",(function(){m.route.param("hideFirstPost")&&(0,e.extend)(f().prototype,"view",(function(e){1===e.children[0].attrs["data-number"]&&e.children.splice(0,1)}))})),(0,e.override)(m.route.Link,"view",(function(e,t){return t.attrs.href=t.attrs.href.replace("/embed","/d"),t.attrs.target="_blank",e(t)})),(0,e.override)(v().prototype,"getPermalink",(function(e,t){return e(t).replace("/embed","/d")})),i().pageInfo=a()({});var w=function(){var e=i().pageInfo();this.$().css("top",Math.max(0,e.scrollTop-e.offsetTop))};(0,e.extend)(h().prototype,"show",w),(0,e.extend)(d().prototype,"show",w),window.iFrameResizer={readyCallback:function(){window.parentIFrame.getPageInfo(i().pageInfo)}},(0,e.extend)(f().prototype,"goToNumber",(function(e,t){if("reply"===t&&"parentIFrame"in window&&i().composer.isFullScreen()){var n=this.$(".PostStream-item:last").offset().top;window.parentIFrame.scrollToOffset(0,n)}})),(0,e.extend)(b().prototype,"sidebarItems",(function(e){e.remove("scrubber");var t=this.discussion.replyCount();e.add("replies",m("h3",null,m("a",{route:i().route.discussion(this.discussion).replace("/embed","/d")},t," comment",1==t?"":"s")),100);var n=e.get("controls").attrs;n.className=n.className.replace("App-primaryControl","")})),i().routes.discussion={path:"/embed/:id",component:b()},i().routes["discussion.near"]={path:"/embed/:id/:near",component:b()}})(),module.exports=o})(); -//# sourceMappingURL=forum.js.map \ No newline at end of file diff --git a/extensions/embed/js/dist/forum.js.map b/extensions/embed/js/dist/forum.js.map deleted file mode 100644 index 4d2262490..000000000 --- a/extensions/embed/js/dist/forum.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@flarum/embed/./node_modules/iframe-resizer/js/iframeResizer.contentWindow.js","webpack://@flarum/embed/webpack/bootstrap","webpack://@flarum/embed/webpack/runtime/compat get default export","webpack://@flarum/embed/webpack/runtime/define property getters","webpack://@flarum/embed/webpack/runtime/hasOwnProperty shorthand","webpack://@flarum/embed/webpack/runtime/make namespace object","webpack://@flarum/embed/external root \"flarum.core.compat['extend']\"","webpack://@flarum/embed/external root \"flarum.core.compat['app']\"","webpack://@flarum/embed/external root \"flarum.core.compat['utils/Stream']\"","webpack://@flarum/embed/external root \"flarum.core.compat['ForumApplication']\"","webpack://@flarum/embed/external root \"flarum.core.compat['components/Composer']\"","webpack://@flarum/embed/external root \"flarum.core.compat['components/PostStream']\"","webpack://@flarum/embed/external root \"flarum.core.compat['components/ModalManager']\"","webpack://@flarum/embed/external root \"flarum.core.compat['components/PostMeta']\"","webpack://@flarum/embed/external root \"flarum.core.compat['components/DiscussionPage']\"","webpack://@flarum/embed/./src/forum/index.js"],"sourcesContent":["/*\n * File: iframeResizer.contentWindow.js\n * Desc: Include this file in any page being loaded into an iframe\n * to force the iframe to resize to the content size.\n * Requires: iframeResizer.js on host page.\n * Doc: https://github.com/davidjbradshaw/iframe-resizer\n * Author: David J. Bradshaw - dave@bradshaw.net\n *\n */\n\n// eslint-disable-next-line sonarjs/cognitive-complexity, no-shadow-restricted-names\n;(function(undefined) {\n if (typeof window === 'undefined') return // don't run for server side render\n\n var autoResize = true,\n base = 10,\n bodyBackground = '',\n bodyMargin = 0,\n bodyMarginStr = '',\n bodyObserver = null,\n bodyPadding = '',\n calculateWidth = false,\n doubleEventList = { resize: 1, click: 1 },\n eventCancelTimer = 128,\n firstRun = true,\n height = 1,\n heightCalcModeDefault = 'bodyOffset',\n heightCalcMode = heightCalcModeDefault,\n initLock = true,\n initMsg = '',\n inPageLinks = {},\n interval = 32,\n intervalTimer = null,\n logging = false,\n msgID = '[iFrameSizer]', // Must match host page msg ID\n msgIdLen = msgID.length,\n myID = '',\n resetRequiredMethods = {\n max: 1,\n min: 1,\n bodyScroll: 1,\n documentElementScroll: 1\n },\n resizeFrom = 'child',\n sendPermit = true,\n target = window.parent,\n targetOriginDefault = '*',\n tolerance = 0,\n triggerLocked = false,\n triggerLockedTimer = null,\n throttledTimer = 16,\n width = 1,\n widthCalcModeDefault = 'scroll',\n widthCalcMode = widthCalcModeDefault,\n win = window,\n onMessage = function() {\n warn('onMessage function not defined')\n },\n onReady = function() {},\n onPageInfo = function() {},\n customCalcMethods = {\n height: function() {\n warn('Custom height calculation function not defined')\n return document.documentElement.offsetHeight\n },\n width: function() {\n warn('Custom width calculation function not defined')\n return document.body.scrollWidth\n }\n },\n eventHandlersByName = {},\n passiveSupported = false\n\n function noop() {}\n\n try {\n var options = Object.create(\n {},\n {\n passive: {\n get: function() {\n passiveSupported = true\n }\n }\n }\n )\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop, options)\n } catch (error) {\n /* */\n }\n\n function addEventListener(el, evt, func, options) {\n el.addEventListener(evt, func, passiveSupported ? options || {} : false)\n }\n\n function removeEventListener(el, evt, func) {\n el.removeEventListener(evt, func, false)\n }\n\n function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1)\n }\n\n // Based on underscore.js\n function throttle(func) {\n var context,\n args,\n result,\n timeout = null,\n previous = 0,\n later = function() {\n previous = getNow()\n timeout = null\n result = func.apply(context, args)\n if (!timeout) {\n // eslint-disable-next-line no-multi-assign\n context = args = null\n }\n }\n\n return function() {\n var now = getNow()\n\n if (!previous) {\n previous = now\n }\n\n var remaining = throttledTimer - (now - previous)\n\n context = this\n args = arguments\n\n if (remaining <= 0 || remaining > throttledTimer) {\n if (timeout) {\n clearTimeout(timeout)\n timeout = null\n }\n\n previous = now\n result = func.apply(context, args)\n\n if (!timeout) {\n // eslint-disable-next-line no-multi-assign\n context = args = null\n }\n } else if (!timeout) {\n timeout = setTimeout(later, remaining)\n }\n\n return result\n }\n }\n\n var getNow =\n Date.now ||\n function() {\n /* istanbul ignore next */ // Not testable in PhantonJS\n return new Date().getTime()\n }\n\n function formatLogMsg(msg) {\n return msgID + '[' + myID + '] ' + msg\n }\n\n function log(msg) {\n if (logging && 'object' === typeof window.console) {\n // eslint-disable-next-line no-console\n console.log(formatLogMsg(msg))\n }\n }\n\n function warn(msg) {\n if ('object' === typeof window.console) {\n // eslint-disable-next-line no-console\n console.warn(formatLogMsg(msg))\n }\n }\n\n function init() {\n readDataFromParent()\n log('Initialising iFrame (' + location.href + ')')\n readDataFromPage()\n setMargin()\n setBodyStyle('background', bodyBackground)\n setBodyStyle('padding', bodyPadding)\n injectClearFixIntoBodyElement()\n checkHeightMode()\n checkWidthMode()\n stopInfiniteResizingOfIFrame()\n setupPublicMethods()\n startEventListeners()\n inPageLinks = setupInPageLinks()\n sendSize('init', 'Init message from host page')\n onReady()\n }\n\n function readDataFromParent() {\n function strBool(str) {\n return 'true' === str\n }\n\n var data = initMsg.substr(msgIdLen).split(':')\n\n myID = data[0]\n bodyMargin = undefined !== data[1] ? Number(data[1]) : bodyMargin // For V1 compatibility\n calculateWidth = undefined !== data[2] ? strBool(data[2]) : calculateWidth\n logging = undefined !== data[3] ? strBool(data[3]) : logging\n interval = undefined !== data[4] ? Number(data[4]) : interval\n autoResize = undefined !== data[6] ? strBool(data[6]) : autoResize\n bodyMarginStr = data[7]\n heightCalcMode = undefined !== data[8] ? data[8] : heightCalcMode\n bodyBackground = data[9]\n bodyPadding = data[10]\n tolerance = undefined !== data[11] ? Number(data[11]) : tolerance\n inPageLinks.enable = undefined !== data[12] ? strBool(data[12]) : false\n resizeFrom = undefined !== data[13] ? data[13] : resizeFrom\n widthCalcMode = undefined !== data[14] ? data[14] : widthCalcMode\n }\n\n function depricate(key) {\n var splitName = key.split('Callback')\n\n if (splitName.length === 2) {\n var name =\n 'on' + splitName[0].charAt(0).toUpperCase() + splitName[0].slice(1)\n this[name] = this[key]\n delete this[key]\n warn(\n \"Deprecated: '\" +\n key +\n \"' has been renamed '\" +\n name +\n \"'. The old method will be removed in the next major version.\"\n )\n }\n }\n\n function readDataFromPage() {\n function readData() {\n var data = window.iFrameResizer\n\n log('Reading data from page: ' + JSON.stringify(data))\n Object.keys(data).forEach(depricate, data)\n\n onMessage = 'onMessage' in data ? data.onMessage : onMessage\n onReady = 'onReady' in data ? data.onReady : onReady\n targetOriginDefault =\n 'targetOrigin' in data ? data.targetOrigin : targetOriginDefault\n heightCalcMode =\n 'heightCalculationMethod' in data\n ? data.heightCalculationMethod\n : heightCalcMode\n widthCalcMode =\n 'widthCalculationMethod' in data\n ? data.widthCalculationMethod\n : widthCalcMode\n }\n\n function setupCustomCalcMethods(calcMode, calcFunc) {\n if ('function' === typeof calcMode) {\n log('Setup custom ' + calcFunc + 'CalcMethod')\n customCalcMethods[calcFunc] = calcMode\n calcMode = 'custom'\n }\n\n return calcMode\n }\n\n if (\n 'iFrameResizer' in window &&\n Object === window.iFrameResizer.constructor\n ) {\n readData()\n heightCalcMode = setupCustomCalcMethods(heightCalcMode, 'height')\n widthCalcMode = setupCustomCalcMethods(widthCalcMode, 'width')\n }\n\n log('TargetOrigin for parent set to: ' + targetOriginDefault)\n }\n\n function chkCSS(attr, value) {\n if (-1 !== value.indexOf('-')) {\n warn('Negative CSS value ignored for ' + attr)\n value = ''\n }\n return value\n }\n\n function setBodyStyle(attr, value) {\n if (undefined !== value && '' !== value && 'null' !== value) {\n document.body.style[attr] = value\n log('Body ' + attr + ' set to \"' + value + '\"')\n }\n }\n\n function setMargin() {\n // If called via V1 script, convert bodyMargin from int to str\n if (undefined === bodyMarginStr) {\n bodyMarginStr = bodyMargin + 'px'\n }\n\n setBodyStyle('margin', chkCSS('margin', bodyMarginStr))\n }\n\n function stopInfiniteResizingOfIFrame() {\n document.documentElement.style.height = ''\n document.body.style.height = ''\n log('HTML & body height set to \"auto\"')\n }\n\n function manageTriggerEvent(options) {\n var listener = {\n add: function(eventName) {\n function handleEvent() {\n sendSize(options.eventName, options.eventType)\n }\n\n eventHandlersByName[eventName] = handleEvent\n\n addEventListener(window, eventName, handleEvent, { passive: true })\n },\n remove: function(eventName) {\n var handleEvent = eventHandlersByName[eventName]\n delete eventHandlersByName[eventName]\n\n removeEventListener(window, eventName, handleEvent)\n }\n }\n\n if (options.eventNames && Array.prototype.map) {\n options.eventName = options.eventNames[0]\n options.eventNames.map(listener[options.method])\n } else {\n listener[options.method](options.eventName)\n }\n\n log(\n capitalizeFirstLetter(options.method) +\n ' event listener: ' +\n options.eventType\n )\n }\n\n function manageEventListeners(method) {\n manageTriggerEvent({\n method: method,\n eventType: 'Animation Start',\n eventNames: ['animationstart', 'webkitAnimationStart']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Animation Iteration',\n eventNames: ['animationiteration', 'webkitAnimationIteration']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Animation End',\n eventNames: ['animationend', 'webkitAnimationEnd']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Input',\n eventName: 'input'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Mouse Up',\n eventName: 'mouseup'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Mouse Down',\n eventName: 'mousedown'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Orientation Change',\n eventName: 'orientationchange'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Print',\n eventName: ['afterprint', 'beforeprint']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Ready State Change',\n eventName: 'readystatechange'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch Start',\n eventName: 'touchstart'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch End',\n eventName: 'touchend'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch Cancel',\n eventName: 'touchcancel'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition Start',\n eventNames: [\n 'transitionstart',\n 'webkitTransitionStart',\n 'MSTransitionStart',\n 'oTransitionStart',\n 'otransitionstart'\n ]\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition Iteration',\n eventNames: [\n 'transitioniteration',\n 'webkitTransitionIteration',\n 'MSTransitionIteration',\n 'oTransitionIteration',\n 'otransitioniteration'\n ]\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition End',\n eventNames: [\n 'transitionend',\n 'webkitTransitionEnd',\n 'MSTransitionEnd',\n 'oTransitionEnd',\n 'otransitionend'\n ]\n })\n if ('child' === resizeFrom) {\n manageTriggerEvent({\n method: method,\n eventType: 'IFrame Resized',\n eventName: 'resize'\n })\n }\n }\n\n function checkCalcMode(calcMode, calcModeDefault, modes, type) {\n if (calcModeDefault !== calcMode) {\n if (!(calcMode in modes)) {\n warn(\n calcMode + ' is not a valid option for ' + type + 'CalculationMethod.'\n )\n calcMode = calcModeDefault\n }\n log(type + ' calculation method set to \"' + calcMode + '\"')\n }\n\n return calcMode\n }\n\n function checkHeightMode() {\n heightCalcMode = checkCalcMode(\n heightCalcMode,\n heightCalcModeDefault,\n getHeight,\n 'height'\n )\n }\n\n function checkWidthMode() {\n widthCalcMode = checkCalcMode(\n widthCalcMode,\n widthCalcModeDefault,\n getWidth,\n 'width'\n )\n }\n\n function startEventListeners() {\n if (true === autoResize) {\n manageEventListeners('add')\n setupMutationObserver()\n } else {\n log('Auto Resize disabled')\n }\n }\n\n function stopMsgsToParent() {\n log('Disable outgoing messages')\n sendPermit = false\n }\n\n function removeMsgListener() {\n log('Remove event listener: Message')\n removeEventListener(window, 'message', receiver)\n }\n\n function disconnectMutationObserver() {\n if (null !== bodyObserver) {\n /* istanbul ignore next */ // Not testable in PhantonJS\n bodyObserver.disconnect()\n }\n }\n\n function stopEventListeners() {\n manageEventListeners('remove')\n disconnectMutationObserver()\n clearInterval(intervalTimer)\n }\n\n function teardown() {\n stopMsgsToParent()\n removeMsgListener()\n if (true === autoResize) stopEventListeners()\n }\n\n function injectClearFixIntoBodyElement() {\n var clearFix = document.createElement('div')\n clearFix.style.clear = 'both'\n // Guard against the following having been globally redefined in CSS.\n clearFix.style.display = 'block'\n clearFix.style.height = '0'\n document.body.appendChild(clearFix)\n }\n\n function setupInPageLinks() {\n function getPagePosition() {\n return {\n x:\n window.pageXOffset !== undefined\n ? window.pageXOffset\n : document.documentElement.scrollLeft,\n y:\n window.pageYOffset !== undefined\n ? window.pageYOffset\n : document.documentElement.scrollTop\n }\n }\n\n function getElementPosition(el) {\n var elPosition = el.getBoundingClientRect(),\n pagePosition = getPagePosition()\n\n return {\n x: parseInt(elPosition.left, 10) + parseInt(pagePosition.x, 10),\n y: parseInt(elPosition.top, 10) + parseInt(pagePosition.y, 10)\n }\n }\n\n function findTarget(location) {\n function jumpToTarget(target) {\n var jumpPosition = getElementPosition(target)\n\n log(\n 'Moving to in page link (#' +\n hash +\n ') at x: ' +\n jumpPosition.x +\n ' y: ' +\n jumpPosition.y\n )\n sendMsg(jumpPosition.y, jumpPosition.x, 'scrollToOffset') // X&Y reversed at sendMsg uses height/width\n }\n\n var hash = location.split('#')[1] || location, // Remove # if present\n hashData = decodeURIComponent(hash),\n target =\n document.getElementById(hashData) ||\n document.getElementsByName(hashData)[0]\n\n if (undefined !== target) {\n jumpToTarget(target)\n } else {\n log(\n 'In page link (#' +\n hash +\n ') not found in iFrame, so sending to parent'\n )\n sendMsg(0, 0, 'inPageLink', '#' + hash)\n }\n }\n\n function checkLocationHash() {\n if ('' !== location.hash && '#' !== location.hash) {\n findTarget(location.href)\n }\n }\n\n function bindAnchors() {\n function setupLink(el) {\n function linkClicked(e) {\n e.preventDefault()\n\n /* jshint validthis:true */\n findTarget(this.getAttribute('href'))\n }\n\n if ('#' !== el.getAttribute('href')) {\n addEventListener(el, 'click', linkClicked)\n }\n }\n\n Array.prototype.forEach.call(\n document.querySelectorAll('a[href^=\"#\"]'),\n setupLink\n )\n }\n\n function bindLocationHash() {\n addEventListener(window, 'hashchange', checkLocationHash)\n }\n\n function initCheck() {\n // Check if page loaded with location hash after init resize\n setTimeout(checkLocationHash, eventCancelTimer)\n }\n\n function enableInPageLinks() {\n /* istanbul ignore else */ // Not testable in phantonJS\n if (Array.prototype.forEach && document.querySelectorAll) {\n log('Setting up location.hash handlers')\n bindAnchors()\n bindLocationHash()\n initCheck()\n } else {\n warn(\n 'In page linking not fully supported in this browser! (See README.md for IE8 workaround)'\n )\n }\n }\n\n if (inPageLinks.enable) {\n enableInPageLinks()\n } else {\n log('In page linking not enabled')\n }\n\n return {\n findTarget: findTarget\n }\n }\n\n function setupPublicMethods() {\n log('Enable public methods')\n\n win.parentIFrame = {\n autoResize: function autoResizeF(resize) {\n if (true === resize && false === autoResize) {\n autoResize = true\n startEventListeners()\n } else if (false === resize && true === autoResize) {\n autoResize = false\n stopEventListeners()\n }\n\n return autoResize\n },\n\n close: function closeF() {\n sendMsg(0, 0, 'close')\n teardown()\n },\n\n getId: function getIdF() {\n return myID\n },\n\n getPageInfo: function getPageInfoF(callback) {\n if ('function' === typeof callback) {\n onPageInfo = callback\n sendMsg(0, 0, 'pageInfo')\n } else {\n onPageInfo = function() {}\n sendMsg(0, 0, 'pageInfoStop')\n }\n },\n\n moveToAnchor: function moveToAnchorF(hash) {\n inPageLinks.findTarget(hash)\n },\n\n reset: function resetF() {\n resetIFrame('parentIFrame.reset')\n },\n\n scrollTo: function scrollToF(x, y) {\n sendMsg(y, x, 'scrollTo') // X&Y reversed at sendMsg uses height/width\n },\n\n scrollToOffset: function scrollToF(x, y) {\n sendMsg(y, x, 'scrollToOffset') // X&Y reversed at sendMsg uses height/width\n },\n\n sendMessage: function sendMessageF(msg, targetOrigin) {\n sendMsg(0, 0, 'message', JSON.stringify(msg), targetOrigin)\n },\n\n setHeightCalculationMethod: function setHeightCalculationMethodF(\n heightCalculationMethod\n ) {\n heightCalcMode = heightCalculationMethod\n checkHeightMode()\n },\n\n setWidthCalculationMethod: function setWidthCalculationMethodF(\n widthCalculationMethod\n ) {\n widthCalcMode = widthCalculationMethod\n checkWidthMode()\n },\n\n setTargetOrigin: function setTargetOriginF(targetOrigin) {\n log('Set targetOrigin: ' + targetOrigin)\n targetOriginDefault = targetOrigin\n },\n\n size: function sizeF(customHeight, customWidth) {\n var valString =\n '' + (customHeight || '') + (customWidth ? ',' + customWidth : '')\n sendSize(\n 'size',\n 'parentIFrame.size(' + valString + ')',\n customHeight,\n customWidth\n )\n }\n }\n }\n\n function initInterval() {\n if (0 !== interval) {\n log('setInterval: ' + interval + 'ms')\n intervalTimer = setInterval(function() {\n sendSize('interval', 'setInterval: ' + interval)\n }, Math.abs(interval))\n }\n }\n\n // Not testable in PhantomJS\n /* istanbul ignore next */\n function setupBodyMutationObserver() {\n function addImageLoadListners(mutation) {\n function addImageLoadListener(element) {\n if (false === element.complete) {\n log('Attach listeners to ' + element.src)\n element.addEventListener('load', imageLoaded, false)\n element.addEventListener('error', imageError, false)\n elements.push(element)\n }\n }\n\n if (mutation.type === 'attributes' && mutation.attributeName === 'src') {\n addImageLoadListener(mutation.target)\n } else if (mutation.type === 'childList') {\n Array.prototype.forEach.call(\n mutation.target.querySelectorAll('img'),\n addImageLoadListener\n )\n }\n }\n\n function removeFromArray(element) {\n elements.splice(elements.indexOf(element), 1)\n }\n\n function removeImageLoadListener(element) {\n log('Remove listeners from ' + element.src)\n element.removeEventListener('load', imageLoaded, false)\n element.removeEventListener('error', imageError, false)\n removeFromArray(element)\n }\n\n function imageEventTriggered(event, type, typeDesc) {\n removeImageLoadListener(event.target)\n sendSize(type, typeDesc + ': ' + event.target.src, undefined, undefined)\n }\n\n function imageLoaded(event) {\n imageEventTriggered(event, 'imageLoad', 'Image loaded')\n }\n\n function imageError(event) {\n imageEventTriggered(event, 'imageLoadFailed', 'Image load failed')\n }\n\n function mutationObserved(mutations) {\n sendSize(\n 'mutationObserver',\n 'mutationObserver: ' + mutations[0].target + ' ' + mutations[0].type\n )\n\n // Deal with WebKit / Blink asyncing image loading when tags are injected into the page\n mutations.forEach(addImageLoadListners)\n }\n\n function createMutationObserver() {\n var target = document.querySelector('body'),\n config = {\n attributes: true,\n attributeOldValue: false,\n characterData: true,\n characterDataOldValue: false,\n childList: true,\n subtree: true\n }\n\n observer = new MutationObserver(mutationObserved)\n\n log('Create body MutationObserver')\n observer.observe(target, config)\n\n return observer\n }\n\n var elements = [],\n MutationObserver =\n window.MutationObserver || window.WebKitMutationObserver,\n observer = createMutationObserver()\n\n return {\n disconnect: function() {\n if ('disconnect' in observer) {\n log('Disconnect body MutationObserver')\n observer.disconnect()\n elements.forEach(removeImageLoadListener)\n }\n }\n }\n }\n\n function setupMutationObserver() {\n var forceIntervalTimer = 0 > interval\n\n // Not testable in PhantomJS\n /* istanbul ignore if */ if (\n window.MutationObserver ||\n window.WebKitMutationObserver\n ) {\n if (forceIntervalTimer) {\n initInterval()\n } else {\n bodyObserver = setupBodyMutationObserver()\n }\n } else {\n log('MutationObserver not supported in this browser!')\n initInterval()\n }\n }\n\n // document.documentElement.offsetHeight is not reliable, so\n // we have to jump through hoops to get a better value.\n function getComputedStyle(prop, el) {\n var retVal = 0\n el = el || document.body // Not testable in phantonJS\n\n retVal = document.defaultView.getComputedStyle(el, null)\n retVal = null !== retVal ? retVal[prop] : 0\n\n return parseInt(retVal, base)\n }\n\n function chkEventThottle(timer) {\n if (timer > throttledTimer / 2) {\n throttledTimer = 2 * timer\n log('Event throttle increased to ' + throttledTimer + 'ms')\n }\n }\n\n // Idea from https://github.com/guardian/iframe-messenger\n function getMaxElement(side, elements) {\n var elementsLength = elements.length,\n elVal = 0,\n maxVal = 0,\n Side = capitalizeFirstLetter(side),\n timer = getNow()\n\n for (var i = 0; i < elementsLength; i++) {\n elVal =\n elements[i].getBoundingClientRect()[side] +\n getComputedStyle('margin' + Side, elements[i])\n if (elVal > maxVal) {\n maxVal = elVal\n }\n }\n\n timer = getNow() - timer\n\n log('Parsed ' + elementsLength + ' HTML elements')\n log('Element position calculated in ' + timer + 'ms')\n\n chkEventThottle(timer)\n\n return maxVal\n }\n\n function getAllMeasurements(dimention) {\n return [\n dimention.bodyOffset(),\n dimention.bodyScroll(),\n dimention.documentElementOffset(),\n dimention.documentElementScroll()\n ]\n }\n\n function getTaggedElements(side, tag) {\n function noTaggedElementsFound() {\n warn('No tagged elements (' + tag + ') found on page')\n return document.querySelectorAll('body *')\n }\n\n var elements = document.querySelectorAll('[' + tag + ']')\n\n if (0 === elements.length) noTaggedElementsFound()\n\n return getMaxElement(side, elements)\n }\n\n function getAllElements() {\n return document.querySelectorAll('body *')\n }\n\n var getHeight = {\n bodyOffset: function getBodyOffsetHeight() {\n return (\n document.body.offsetHeight +\n getComputedStyle('marginTop') +\n getComputedStyle('marginBottom')\n )\n },\n\n offset: function() {\n return getHeight.bodyOffset() // Backwards compatability\n },\n\n bodyScroll: function getBodyScrollHeight() {\n return document.body.scrollHeight\n },\n\n custom: function getCustomWidth() {\n return customCalcMethods.height()\n },\n\n documentElementOffset: function getDEOffsetHeight() {\n return document.documentElement.offsetHeight\n },\n\n documentElementScroll: function getDEScrollHeight() {\n return document.documentElement.scrollHeight\n },\n\n max: function getMaxHeight() {\n return Math.max.apply(null, getAllMeasurements(getHeight))\n },\n\n min: function getMinHeight() {\n return Math.min.apply(null, getAllMeasurements(getHeight))\n },\n\n grow: function growHeight() {\n return getHeight.max() // Run max without the forced downsizing\n },\n\n lowestElement: function getBestHeight() {\n return Math.max(\n getHeight.bodyOffset() || getHeight.documentElementOffset(),\n getMaxElement('bottom', getAllElements())\n )\n },\n\n taggedElement: function getTaggedElementsHeight() {\n return getTaggedElements('bottom', 'data-iframe-height')\n }\n },\n getWidth = {\n bodyScroll: function getBodyScrollWidth() {\n return document.body.scrollWidth\n },\n\n bodyOffset: function getBodyOffsetWidth() {\n return document.body.offsetWidth\n },\n\n custom: function getCustomWidth() {\n return customCalcMethods.width()\n },\n\n documentElementScroll: function getDEScrollWidth() {\n return document.documentElement.scrollWidth\n },\n\n documentElementOffset: function getDEOffsetWidth() {\n return document.documentElement.offsetWidth\n },\n\n scroll: function getMaxWidth() {\n return Math.max(getWidth.bodyScroll(), getWidth.documentElementScroll())\n },\n\n max: function getMaxWidth() {\n return Math.max.apply(null, getAllMeasurements(getWidth))\n },\n\n min: function getMinWidth() {\n return Math.min.apply(null, getAllMeasurements(getWidth))\n },\n\n rightMostElement: function rightMostElement() {\n return getMaxElement('right', getAllElements())\n },\n\n taggedElement: function getTaggedElementsWidth() {\n return getTaggedElements('right', 'data-iframe-width')\n }\n }\n\n function sizeIFrame(\n triggerEvent,\n triggerEventDesc,\n customHeight,\n customWidth\n ) {\n function resizeIFrame() {\n height = currentHeight\n width = currentWidth\n\n sendMsg(height, width, triggerEvent)\n }\n\n function isSizeChangeDetected() {\n function checkTolarance(a, b) {\n var retVal = Math.abs(a - b) <= tolerance\n return !retVal\n }\n\n currentHeight =\n undefined !== customHeight ? customHeight : getHeight[heightCalcMode]()\n currentWidth =\n undefined !== customWidth ? customWidth : getWidth[widthCalcMode]()\n\n return (\n checkTolarance(height, currentHeight) ||\n (calculateWidth && checkTolarance(width, currentWidth))\n )\n }\n\n function isForceResizableEvent() {\n return !(triggerEvent in { init: 1, interval: 1, size: 1 })\n }\n\n function isForceResizableCalcMode() {\n return (\n heightCalcMode in resetRequiredMethods ||\n (calculateWidth && widthCalcMode in resetRequiredMethods)\n )\n }\n\n function logIgnored() {\n log('No change in size detected')\n }\n\n function checkDownSizing() {\n if (isForceResizableEvent() && isForceResizableCalcMode()) {\n resetIFrame(triggerEventDesc)\n } else if (!(triggerEvent in { interval: 1 })) {\n logIgnored()\n }\n }\n\n var currentHeight, currentWidth\n\n if (isSizeChangeDetected() || 'init' === triggerEvent) {\n lockTrigger()\n resizeIFrame()\n } else {\n checkDownSizing()\n }\n }\n\n var sizeIFrameThrottled = throttle(sizeIFrame)\n\n function sendSize(triggerEvent, triggerEventDesc, customHeight, customWidth) {\n function recordTrigger() {\n if (!(triggerEvent in { reset: 1, resetPage: 1, init: 1 })) {\n log('Trigger event: ' + triggerEventDesc)\n }\n }\n\n function isDoubleFiredEvent() {\n return triggerLocked && triggerEvent in doubleEventList\n }\n\n if (!isDoubleFiredEvent()) {\n recordTrigger()\n if (triggerEvent === 'init') {\n sizeIFrame(triggerEvent, triggerEventDesc, customHeight, customWidth)\n } else {\n sizeIFrameThrottled(\n triggerEvent,\n triggerEventDesc,\n customHeight,\n customWidth\n )\n }\n } else {\n log('Trigger event cancelled: ' + triggerEvent)\n }\n }\n\n function lockTrigger() {\n if (!triggerLocked) {\n triggerLocked = true\n log('Trigger event lock on')\n }\n clearTimeout(triggerLockedTimer)\n triggerLockedTimer = setTimeout(function() {\n triggerLocked = false\n log('Trigger event lock off')\n log('--')\n }, eventCancelTimer)\n }\n\n function triggerReset(triggerEvent) {\n height = getHeight[heightCalcMode]()\n width = getWidth[widthCalcMode]()\n\n sendMsg(height, width, triggerEvent)\n }\n\n function resetIFrame(triggerEventDesc) {\n var hcm = heightCalcMode\n heightCalcMode = heightCalcModeDefault\n\n log('Reset trigger event: ' + triggerEventDesc)\n lockTrigger()\n triggerReset('reset')\n\n heightCalcMode = hcm\n }\n\n function sendMsg(height, width, triggerEvent, msg, targetOrigin) {\n function setTargetOrigin() {\n if (undefined === targetOrigin) {\n targetOrigin = targetOriginDefault\n } else {\n log('Message targetOrigin: ' + targetOrigin)\n }\n }\n\n function sendToParent() {\n var size = height + ':' + width,\n message =\n myID +\n ':' +\n size +\n ':' +\n triggerEvent +\n (undefined !== msg ? ':' + msg : '')\n\n log('Sending message to host page (' + message + ')')\n target.postMessage(msgID + message, targetOrigin)\n }\n\n if (true === sendPermit) {\n setTargetOrigin()\n sendToParent()\n }\n }\n\n function receiver(event) {\n var processRequestFromParent = {\n init: function initFromParent() {\n initMsg = event.data\n target = event.source\n\n init()\n firstRun = false\n setTimeout(function() {\n initLock = false\n }, eventCancelTimer)\n },\n\n reset: function resetFromParent() {\n if (!initLock) {\n log('Page size reset by host page')\n triggerReset('resetPage')\n } else {\n log('Page reset ignored by init')\n }\n },\n\n resize: function resizeFromParent() {\n sendSize('resizeParent', 'Parent window requested size check')\n },\n\n moveToAnchor: function moveToAnchorF() {\n inPageLinks.findTarget(getData())\n },\n inPageLink: function inPageLinkF() {\n this.moveToAnchor()\n }, // Backward compatability\n\n pageInfo: function pageInfoFromParent() {\n var msgBody = getData()\n log('PageInfoFromParent called from parent: ' + msgBody)\n onPageInfo(JSON.parse(msgBody))\n log(' --')\n },\n\n message: function messageFromParent() {\n var msgBody = getData()\n\n log('onMessage called from parent: ' + msgBody)\n // eslint-disable-next-line sonarjs/no-extra-arguments\n onMessage(JSON.parse(msgBody))\n log(' --')\n }\n }\n\n function isMessageForUs() {\n return msgID === ('' + event.data).substr(0, msgIdLen) // ''+ Protects against non-string messages\n }\n\n function getMessageType() {\n return event.data.split(']')[1].split(':')[0]\n }\n\n function getData() {\n return event.data.substr(event.data.indexOf(':') + 1)\n }\n\n function isMiddleTier() {\n return (\n (!(typeof module !== 'undefined' && module.exports) &&\n 'iFrameResize' in window) ||\n ('jQuery' in window && 'iFrameResize' in window.jQuery.prototype)\n )\n }\n\n function isInitMsg() {\n // Test if this message is from a child below us. This is an ugly test, however, updating\n // the message format would break backwards compatibity.\n return event.data.split(':')[2] in { true: 1, false: 1 }\n }\n\n function callFromParent() {\n var messageType = getMessageType()\n\n if (messageType in processRequestFromParent) {\n processRequestFromParent[messageType]()\n } else if (!isMiddleTier() && !isInitMsg()) {\n warn('Unexpected message (' + event.data + ')')\n }\n }\n\n function processMessage() {\n if (false === firstRun) {\n callFromParent()\n } else if (isInitMsg()) {\n processRequestFromParent.init()\n } else {\n log(\n 'Ignored message of type \"' +\n getMessageType() +\n '\". Received before initialization.'\n )\n }\n }\n\n if (isMessageForUs()) {\n processMessage()\n }\n }\n\n // Normally the parent kicks things off when it detects the iFrame has loaded.\n // If this script is async-loaded, then tell parent page to retry init.\n function chkLateLoaded() {\n if ('loading' !== document.readyState) {\n window.parent.postMessage('[iFrameResizerChild]Ready', '*')\n }\n }\n\n addEventListener(window, 'message', receiver)\n addEventListener(window, 'readystatechange', chkLateLoaded)\n chkLateLoaded()\n\n \n})()\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['utils/Stream'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['ForumApplication'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['components/Composer'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['components/PostStream'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['components/ModalManager'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['components/PostMeta'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['components/DiscussionPage'];","import 'iframe-resizer/js/iframeResizer.contentWindow.js';\n\nimport { override, extend } from 'flarum/extend';\nimport app from 'flarum/app';\nimport Stream from 'flarum/utils/Stream';\nimport ForumApplication from 'flarum/ForumApplication';\nimport Composer from 'flarum/components/Composer';\nimport PostStream from 'flarum/components/PostStream';\nimport ModalManager from 'flarum/components/ModalManager';\nimport PostMeta from 'flarum/components/PostMeta';\n\nimport DiscussionPage from 'flarum/components/DiscussionPage';\n\nextend(ForumApplication.prototype, 'mount', function() {\n if (m.route.param('hideFirstPost')) {\n extend(PostStream.prototype, 'view', vdom => {\n if (vdom.children[0].attrs['data-number'] === 1) {\n vdom.children.splice(0, 1);\n }\n });\n }\n});\n\noverride(m.route.Link, 'view', function (original, vnode) {\n vnode.attrs.href = vnode.attrs.href.replace('/embed', '/d');\n vnode.attrs.target = '_blank';\n // TODO: If href leads to a post within this discussion that we have\n // already loaded, then scroll to it?\n return original(vnode);\n});\n\n// Trim the /embed prefix off of post permalinks\noverride(PostMeta.prototype, 'getPermalink', (original, post) => {\n return original(post).replace('/embed', '/d');\n});\n\napp.pageInfo = Stream({});\n\nconst reposition = function() {\n const info = app.pageInfo();\n this.$().css('top', Math.max(0, info.scrollTop - info.offsetTop));\n};\n\nextend(ModalManager.prototype, 'show', reposition);\nextend(Composer.prototype, 'show', reposition);\n\nwindow.iFrameResizer = {\n readyCallback: function() {\n window.parentIFrame.getPageInfo(app.pageInfo);\n }\n};\n\nextend(PostStream.prototype, 'goToNumber', function(promise, number) {\n if (number === 'reply' && 'parentIFrame' in window && app.composer.isFullScreen()) {\n const itemTop = this.$('.PostStream-item:last').offset().top;\n window.parentIFrame.scrollToOffset(0, itemTop);\n }\n});\n\nextend(DiscussionPage.prototype, 'sidebarItems', function(items) {\n items.remove('scrubber');\n\n const count = this.discussion.replyCount();\n\n items.add('replies',

\n \n {count} comment{count == 1 ? '' : 's'}\n \n

, 100);\n\n const attrs = items.get('controls').attrs;\n attrs.className = attrs.className.replace('App-primaryControl', '');\n});\n\napp.routes['discussion'] = {path: '/embed/:id', component: DiscussionPage};\napp.routes['discussion.near'] = {path: '/embed/:id/:near', component: DiscussionPage};\n\n"],"names":["undefined","window","autoResize","bodyBackground","bodyMargin","bodyMarginStr","bodyObserver","bodyPadding","calculateWidth","doubleEventList","resize","click","eventCancelTimer","firstRun","height","heightCalcModeDefault","heightCalcMode","initLock","initMsg","inPageLinks","interval","intervalTimer","logging","msgID","msgIdLen","length","myID","resetRequiredMethods","max","min","bodyScroll","documentElementScroll","resizeFrom","sendPermit","target","parent","targetOriginDefault","tolerance","triggerLocked","triggerLockedTimer","throttledTimer","width","widthCalcModeDefault","widthCalcMode","win","onMessage","warn","onReady","onPageInfo","customCalcMethods","document","documentElement","offsetHeight","body","scrollWidth","eventHandlersByName","passiveSupported","options","Object","create","passive","get","addEventListener","noop","removeEventListener","error","func","context","args","result","timeout","previous","later","getNow","Date","now","getTime","getHeight","bodyOffset","getComputedStyle","offset","scrollHeight","custom","documentElementOffset","Math","apply","getAllMeasurements","grow","lowestElement","getMaxElement","getAllElements","taggedElement","getTaggedElements","getWidth","offsetWidth","scroll","rightMostElement","sizeIFrameThrottled","sizeIFrame","remaining","this","arguments","clearTimeout","setTimeout","receiver","chkLateLoaded","el","evt","capitalizeFirstLetter","string","charAt","toUpperCase","slice","formatLogMsg","msg","log","console","init","clearFix","value","strBool","str","data","substr","split","Number","enable","readDataFromParent","location","href","setupCustomCalcMethods","calcMode","calcFunc","iFrameResizer","constructor","JSON","stringify","keys","forEach","depricate","targetOrigin","heightCalculationMethod","widthCalculationMethod","readDataFromPage","setBodyStyle","indexOf","createElement","style","clear","display","appendChild","checkHeightMode","checkWidthMode","parentIFrame","startEventListeners","stopEventListeners","close","sendMsg","getId","getPageInfo","callback","moveToAnchor","hash","findTarget","reset","resetIFrame","scrollTo","x","y","scrollToOffset","sendMessage","setHeightCalculationMethod","setWidthCalculationMethod","setTargetOrigin","size","customHeight","customWidth","sendSize","getElementPosition","elPosition","getBoundingClientRect","pagePosition","pageXOffset","scrollLeft","pageYOffset","scrollTop","parseInt","left","top","hashData","decodeURIComponent","getElementById","getElementsByName","jumpPosition","jumpToTarget","checkLocationHash","Array","prototype","querySelectorAll","call","getAttribute","e","preventDefault","setupInPageLinks","key","splitName","name","attr","manageTriggerEvent","listener","add","eventName","handleEvent","eventType","remove","eventNames","map","method","manageEventListeners","checkCalcMode","calcModeDefault","modes","type","forceIntervalTimer","MutationObserver","WebKitMutationObserver","initInterval","addImageLoadListners","mutation","addImageLoadListener","element","complete","src","imageLoaded","imageError","elements","push","attributeName","removeImageLoadListener","splice","removeFromArray","imageEventTriggered","event","typeDesc","mutationObserved","mutations","observer","querySelector","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","createMutationObserver","disconnect","setupBodyMutationObserver","clearInterval","setInterval","abs","prop","retVal","defaultView","side","elementsLength","elVal","maxVal","Side","timer","i","chkEventThottle","dimention","tag","triggerEvent","triggerEventDesc","currentHeight","currentWidth","checkTolarance","a","b","isSizeChangeDetected","lockTrigger","resetPage","triggerReset","hcm","message","postMessage","messageType","processRequestFromParent","source","getData","inPageLink","pageInfo","msgBody","parse","getMessageType","isInitMsg","true","false","module","exports","jQuery","readyState","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","definition","o","defineProperty","enumerable","obj","hasOwnProperty","r","Symbol","toStringTag","flarum","core","compat","extend","ForumApplication","m","route","param","PostStream","vdom","children","attrs","override","Link","original","vnode","replace","PostMeta","post","app","Stream","reposition","info","$","css","offsetTop","ModalManager","Composer","readyCallback","promise","number","itemTop","DiscussionPage","items","count","discussion","replyCount","className","path","component"],"sourceRoot":""} \ No newline at end of file diff --git a/extensions/embed/js/package.json b/extensions/embed/js/package.json index ba4a64c85..20051f22f 100644 --- a/extensions/embed/js/package.json +++ b/extensions/embed/js/package.json @@ -2,9 +2,9 @@ "private": true, "name": "@flarum/embed", "dependencies": { - "flarum-webpack-config": "0.1.0-beta.10", - "iframe-resizer": "^4.1.1", - "webpack": "^5.58.1", + "flarum-webpack-config": "^1.0.0", + "iframe-resizer": "^4.3.2", + "webpack": "^4.46.0", "webpack-cli": "^4.9.0" }, "scripts": {