{"version":3,"sources":["Paper/Style.js","Paper/Spread.js","Paper/Page.js","Paper/IssueIndex.js","Paper/Issue.js","App.js","serviceWorker.js","index.js"],"names":["IssueStyle","Spread","props","_this","Object","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","page_width","Math","max","document","documentElement","clientWidth","window","innerWidth","page_height","clientHeight","innerHeight","isZoom","tp","scale","mounted","animateZoom","bounds","mouseDownX","mouseDownY","startX","startY","cx","cy","double","children","length","state","pageSize","_this2","addEventListener","update","bind","onMouseUp","setTimeout","removeEventListener","forceUpdate","_this$props","bottomMenuOpen","issueIndexOpen","bottomMenuHeight","issueIndexHeight","h","getCurrentPageWidth","getCurrentPageHeight","scale_to_fit_width","scale_to_fit_height","margin","_this$state$pageSize","spreadWidth","width","spreadHeight","height","min","_this$state$pageSize2","PAGE_WIDTH_MARGIN","PAGE_HEIGHT_MARGIN","coords","arguments","undefined","getTransformCoords","x","clientX","y","clientY","e","mouseDown","ox","oy","setZoomAnimation","dX","dY","tpDx","tpDy","minX","maxX","minY","maxY","getScale","_this$state$pageSize3","scaledHeight","scaledWidth","fsScale","getFullPageScale","tHeight","ty","spcy","tWidth","spcx","toTransformY","translateX","translateY","_this$getTransformCoo","concat","_this$state$pageSize4","backgroundColor","transform","getTransform","_this$props2","style","className","single","localStyle","color","transition","console","log","react_default","a","createElement","objectSpread","position","display","draggable","onMouseDown","onMouseMove","transformOrigin","boxShadow","Component","defaultProps","Page","params","willUnmount","page","loaded","setState","_this$state","pageStyle","oveflow","imgStyle","visibility","opacity","onLoad","onDragStart","src","img","alt","IssueIndex","max_spreads_on_screen","spreadCountOnScreen","nextProps","nextState","prevSpreadIndex","spreadIndex","newSpreadIndex","spreads","issue","thumbnailSize","wrapperStyle","bottom","indexStart","indexEnd","imageStyle","onClick","prevPage","nextPage","map","spread","si","key","onChangeSpreadIndex","pi","thumbnail","image","containerStyle","Issue","issues","animateSpreadMove","archiveOpen","loadIndex","fetch","then","response","status","json","jsonResponse","locationHash","location","hash","regIssue","regSpread","issueIndex","toConsumableArray","matchAll","parseInt","title","catch","publicationFetchError","handleKeyDown","keyCode","zoomOutSpread","zoomInSpread","pages","i","push","_this$state2","updateHash","_this3","abs","resetCoords","zoom","zoomOut","_this4","_this$state3","mapIssue","issueNumber","href","selectIssue","_this5","_this6","renderPreloader","getSpreads","_this$state4","bottomMargin","getBottomMargin","issueStyle","getIssueStyle","pagesCount","currentPagesCount","slice","reduce","sum","el","currentPages","top","prevSpread","nextSpread","IssueIndex_IssueIndex","goToSpread","renderArchive","toggleArchive","zoomInSpreadWithReset","pdf","target","id","onDoubleClick","spreadTransform","visible","spreadStyle","Spread_Spread","index","ref","Page_Page","App","Issue_Issue","Boolean","hostname","match","ReactDOM","render","src_App","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.0b16b7cb.chunk.js","sourcesContent":["let IssueStyle = {\r\n bottomMenuHeight: 40,\r\n issueIndexHeight: 140\r\n}\r\n\r\nexport {IssueStyle}","import React, { Component } from 'react';\r\nimport {IssueStyle} from './Style.js'\r\n\r\nexport default class Spread extends Component {\r\n\r\n\tstatic defaultProps = {\r\n\t\tbottomMenuOpen: true,\r\n\t\tissueIndexOpen: false,\r\n\t\tmargin: 20,\r\n\t}\r\n\r\n\tpage_width = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\r\n\tpage_height = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\r\n\tisZoom = false;\r\n\ttp = null;\r\n\tscale = 1;\r\n\tmounted = false;\r\n\tanimateZoom = true;\r\n\tbounds = {};\r\n\tmouseDownX = 0;\r\n\tmouseDownY = 0;\r\n\tstartX = 0;\r\n\tstartY = 0;\r\n\tcx = 0;\r\n\tcy = 0;\r\n\r\n\tconstructor(props)\r\n\t{\r\n\t\tsuper(props);\r\n\t\tthis.double = props.children.length > 1;\r\n\t\tthis.state = {\r\n\t\t\tpageSize: props.pageSize,\r\n\t\t\t// backgroundColor: getRandomColor()\r\n\t\t}\r\n\t}\r\n\t\r\n\tcomponentDidMount(){\t\r\n\t\twindow.addEventListener(\"resize\", this.update.bind(this));\r\n\t\twindow.addEventListener('mouseup', this.onMouseUp.bind(this));\r\n\t\tsetTimeout(() => this.mounted = true, 1000);\r\n\t}\r\n\t\r\n\tcomponentWillUnmount() {\r\n\t\tthis.mounted = false;\r\n\t\twindow.removeEventListener(\"resize\", this.update.bind(this));\r\n\t\twindow.removeEventListener('mouseup', this.onMouseUp.bind(this));\r\n\t}\r\n\r\n\tsetZoomAnimation(animateZoom){\r\n\t\tthis.animateZoom = animateZoom;\r\n\t}\r\n\r\n// \tshouldComponentUpdate(nextProps, nextState) {\r\n// \t\tconst {visible:newVisible, style: newStyle} = nextProps;\r\n// \t\tconst {scale:newScale} = nextState;\r\n\r\n// \t\tconst {visible, index, style} = this.props;\r\n// \t\tconst {scale} = this.state;\r\n\r\n// \t\tif(scale !== newScale)\r\n// \t\t\treturn true;\r\n\r\n// \t\tif(style !== newStyle)\r\n// \t\t\treturn true;\r\n\t\r\n// \t\tif(newVisible !== visible)\r\n// \t\t\treturn true;\r\n\r\n// \t\treturn false;\r\n// }\r\n\r\n\tupdate(){\r\n\t\tthis.forceUpdate();\r\n\t}\r\n\r\n\tgetCurrentPageHeight() {\r\n\t\tconst {bottomMenuOpen, issueIndexOpen} = this.props;\r\n\t\tconst {bottomMenuHeight, issueIndexHeight} = IssueStyle;\r\n\r\n\t\tlet h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\r\n\t\t\r\n\t\tif(bottomMenuOpen)\r\n\t\t\th -= bottomMenuHeight;\r\n\t\t\r\n\t\tif(issueIndexOpen)\r\n\t\t\th -= issueIndexHeight\r\n\r\n\t\treturn h;\r\n\t}\r\n\r\n\tgetCurrentPageWidth(){\r\n\t\treturn Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\r\n\t}\r\n\r\n\tgetFullPageScale(){\r\n\t\tconst {bottomMenuOpen} = this.state;\r\n\r\n\t\tthis.page_width = this.getCurrentPageWidth();\r\n\t\tthis.page_height = this.getCurrentPageHeight();\r\n\t\tconst {margin} = this.props;\r\n\t\tconst {width, height} = this.state.pageSize;\r\n\t\tconst spreadWidth = width * 2;\r\n\t\tconst spreadHeight = height;\r\n\t\t\r\n\t\tconst PAGE_WIDTH_MARGIN = this.page_width - margin * 2;\r\n\t\tconst PAGE_HEIGHT_MARGIN = this.page_height - margin * 2;\r\n\r\n\t\tlet scale_to_fit_width = 1;\r\n\t\tlet scale_to_fit_height = 1;\r\n\t\t\r\n\t\tscale_to_fit_width = PAGE_WIDTH_MARGIN / spreadWidth;\r\n\t\tscale_to_fit_height = PAGE_HEIGHT_MARGIN / spreadHeight;\r\n\r\n\t\tconst scale = Math.min(scale_to_fit_width, scale_to_fit_height);\r\n\r\n\t\treturn scale;\r\n\t}\r\n\t\r\n\tgetScale(){\r\n\t\t// const {visible} = this.props;\r\n\t\t\r\n\t\t// if(!visible)\r\n\t\t// \treturn null;\r\n\r\n\t\tthis.page_width = this.getCurrentPageWidth();\r\n\t\tthis.page_height = this.getCurrentPageHeight();\r\n\r\n\t\tconst {margin} = this.props;\r\n\t\tconst {width, height} = this.state.pageSize;\r\n\t\tconst spreadWidth = width * 2;\r\n\t\tconst spreadHeight = height;\r\n\t\t\r\n\t\tconst PAGE_WIDTH_MARGIN = this.page_width - margin * 2;\r\n\t\tconst PAGE_HEIGHT_MARGIN = this.page_height - margin * 2;\r\n\r\n\t\tlet scale_to_fit_width = 1;\r\n\t\tlet scale_to_fit_height = 1;\r\n\r\n\t\tif(this.isZoom) // we are zooming so set the scale to fit one page width to full screen\r\n\t\t{\r\n\t\t\tscale_to_fit_width = PAGE_WIDTH_MARGIN / width;\t\r\n\r\n\t\t\treturn Math.min(scale_to_fit_width, 1);\r\n\t\t}\r\n\t\t\r\n\t\t// we are not zooming so fit spread on single screen\r\n\t\t\r\n\t\tscale_to_fit_width = PAGE_WIDTH_MARGIN / spreadWidth;\r\n\t\tscale_to_fit_height = PAGE_HEIGHT_MARGIN / spreadHeight;\r\n\r\n\t\tconst scale = Math.min(scale_to_fit_width, scale_to_fit_height);\r\n\r\n\t\treturn scale;\r\n\t}\r\n\r\n\tzoom(coords = null){\r\n\t\r\n\t\tthis.isZoom = !this.isZoom;\r\n\r\n\t\tif(this.isZoom && !!coords){\r\n\t\t\tthis.getTransformCoords(coords);\r\n\t\t}\r\n\t\telse {\r\n\t\t\t// todo m.t.\r\n\t\t}\r\n\r\n\t\tthis.forceUpdate();\r\n\t}\r\n\r\n\tzoomOut(){\r\n\t\tthis.isZoom = false;\r\n\t\tthis.forceUpdate();\r\n\t}\r\n\r\n\tgetTransformFromClickCoords(coords){\r\n\t\tconst {clientX,clientY} = coords;\r\n\t\tconst x = clientX;\r\n\t\tconst y = clientY;\r\n\t\t\r\n\t\treturn {x,y};\r\n\t}\r\n\r\n\tonMouseDown(e){\r\n\t\tif(!this.mounted)\r\n\t\t\treturn;\r\n\r\n\t\tthis.mouseDown = true;\r\n\t\tthis.mouseDownX = e.clientX;\r\n\t\tthis.mouseDownY = e.clientY;\r\n\r\n\t\tlet {tp} = this;\r\n\r\n\t\tif(!tp)\r\n\t\t\treturn;\r\n\r\n\t\ttp.ox = tp.x;\r\n\t\ttp.oy = tp.y;\r\n\r\n\t\tthis.tp = tp;\r\n\t}\r\n\r\n\tonMouseUp(e){\r\n\t\tif(!this.mounted)\r\n\t\t\treturn;\r\n\r\n\t\tthis.mouseDown = false;\r\n\t\tlet {tp} = this;\r\n\t\t\r\n\t\tif(!tp)\r\n\t\t\treturn;\r\n\r\n\t\ttp.ox = tp.x;\r\n\t\ttp.oy = tp.y;\r\n\t\tthis.tp = tp;\r\n\r\n\t\tthis.forceUpdate();\r\n\t}\r\n\r\n\tonMouseMove(e){\r\n\t\tif(!this.mounted)\r\n\t\t\treturn;\r\n\t\t\t\r\n\t\tif(!this.mouseDown)\r\n\t\t\treturn;\r\n\t\t\r\n\t\tif(!this.isZoom)\r\n\t\t\treturn;\r\n\r\n\t\tif(!this.tp)\r\n\t\t\treturn;\r\n\r\n\t\tthis.setZoomAnimation(false)\r\n\r\n\t\tconst {clientX,clientY} = e;\r\n\t\tlet {bounds, tp} = this;\r\n\r\n\t\tconst dX = this.mouseDownX - clientX;\r\n\t\tconst dY = this.mouseDownY - clientY;\r\n\r\n\t\tconst tpDx = tp.ox - dX;\r\n\t\tconst tpDy = tp.oy - dY;\r\n\r\n\r\n\t\tthis.tp = {\r\n\t\t\tx: tpDx >= bounds.minX ? bounds.minX : (tpDx < bounds.maxX ? bounds.maxX : tpDx),\r\n\t\t\ty: tpDy <= bounds.minY ? bounds.minY : (tpDy > bounds.maxY ? bounds.maxY : tpDy),\r\n\t\t\tox: tp.ox,\r\n\t\t\toy: tp.oy\r\n\t\t}\r\n\t\tthis.forceUpdate();\r\n\t}\r\n\r\n\tgetTransformCoords(coords = null){\r\n\t\t\r\n\t\tlet scale = !!coords ? this.getScale() : this.scale;\r\n\r\n\t\tconst {width, height} = this.state.pageSize;\r\n\t\tconst {margin} = this.props;\r\n\t\tconst {double} = this;\r\n\t\tlet {tp} = this;\r\n\t\tconst scaledHeight = height * scale;\r\n\t\tconst scaledWidth = double ? width * scale : width * scale;\r\n\t\t\r\n\t\tthis.page_width = this.getCurrentPageWidth();\r\n\t\tthis.page_height = this.getCurrentPageHeight();\r\n\r\n\t\tif(this.isZoom){\r\n\t\t\tconst startX = !double ? \r\n\t\t\t\tthis.page_width/2 - (width/2) :\r\n\t\t\t\tthis.page_width/2 - (width);\r\n\r\n\t\t\tconst startY = this.page_height/2 - (height/2);\r\n\r\n\t\t\t// const minX = startX + (this.page_width/2) - margin;\r\n\t\t\t// const maxX = startX - (this.page_width/2) + margin;\r\n\r\n\t\t\tconst maxX = startX + ((this.page_width - (scaledWidth*2))/2) - margin;\r\n\t\t\tconst minX = startX - ((this.page_width - (scaledWidth*2))/2) + margin;\r\n\r\n\t\t\tconst minY = startY + ((this.page_height - (scaledHeight))/2) - margin;\r\n\t\t\tconst maxY = startY - ((this.page_height - (scaledHeight))/2) + margin;\r\n\t\t\t\r\n\t\t\tthis.bounds = {minX, maxX, minY, maxY, startX, startY};\r\n\r\n\t\t\t// const dX = Math.abs(maxX - minX);\r\n\t\t\t// const dY = Math.abs(maxY - minY);\r\n\t\t\t\r\n\t\t\tif(!!coords && !!coords.clientX )\r\n\t\t\t{\r\n\t\t\t\tconst {clientX, clientY} = coords;\r\n\t\t\t\t\r\n\t\t\t\t// const px = clientX / this.page_width\r\n\t\t\t\t// const py = clientY / this.page_height\r\n\t\t\t\t\r\n\t\t\t\tconst fsScale = this.getFullPageScale();\r\n\t\t\t\tconst tHeight = height * fsScale;\r\n\t\t\t\tconst tMarginTop = (this.page_height - tHeight)/2;\r\n\t\t\t\tconst ty = clientY - tMarginTop;\r\n\t\t\t\tconst opcy = ty / fsScale // original page click y (height);\r\n\t\t\t\tconst spcy = opcy * scale; // scaled page click y \r\n\r\n\t\t\t\tconst tWidth = (width*2) * fsScale;\r\n\t\t\t\tconst tMarginLeft = (this.page_width - tWidth)/2;\r\n\t\t\t\tconst tx = clientX - tMarginLeft;\r\n\t\t\t\tconst opcx = tx / fsScale // original page click y (width);\r\n\t\t\t\tconst spcx = opcx * scale; // scaled page click x\r\n\r\n\t\t\t\t// const toTransformY = (startY - ((ty/tHeight) * -dY));\r\n\t\t\t\tconst toTransformY = Math.max(minY, maxY) - spcy - margin + (clientY);\r\n\t\t\t\tconst toTransformX = Math.max(minX, maxX) - spcx - margin + (clientX);\r\n\r\n\t\t\t\ttp = {\r\n\t\t\t\t\tx: toTransformX,\r\n\t\t\t\t\ty: ty < 0 ? Math.max(minY, maxY) : (ty > tHeight ? Math.min(minY, maxY) : toTransformY)\r\n\t\t\t\t}\r\n\t\t\t\tthis.tp = tp;\r\n\t\t\t}\r\n\t\t\telse if(!tp)\r\n\t\t\t{\r\n\t\t\t\ttp = {\r\n\t\t\t\t\tx: startX,\r\n\t\t\t\t\ty: startY\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if(!coords && !!tp)\r\n\t\t\t{\r\n\t\t\t\t// tp = {\r\n\t\t\t\t// \tx: startX,\r\n\t\t\t\t// \ty: startY\r\n\t\t\t\t// }\r\n\t\t\t}\r\n\t\t\t\r\n\r\n\t\t\ttp.x = tp.x >= minX ? minX : (tp.x < maxX ? maxX : tp.x)\r\n\t\t\ttp.y = tp.y <= minY ? minY : (tp.y > maxY ? maxY : tp.y)\r\n\r\n\t\t\tconst translatedX = !double ? startX : tp.x;\r\n\t\t\tconst translatedY = tp.y\r\n\t\t\t\r\n\t\t\treturn {translateX : translatedX, translateY: translatedY, scale};\r\n\t\t}\r\n\r\n\t\tconst translateX = !this.double ? \r\n\t\t\tthis.page_width/2 - (width/2) :\r\n\t\t\tthis.page_width/2 - (width);\r\n\r\n\t\tconst translateY = this.page_height/2 - (height/2)\r\n\r\n\t\tthis.bounds = {startX: translateX, startY: translateY};\r\n\r\n\t\tthis.startX = translateX;\r\n\t\tthis.startY = translateY;\r\n\r\n\t\treturn {translateX, translateY, scale};\r\n\t}\r\n\t\r\n\tresetCoords(){\r\n\t\tconst {startX, startY} = this;\r\n\t\tthis. tp = {\r\n\t\t\tx: startX,\r\n\t\t\ty: startY\r\n\t\t}\r\n\t\t\r\n\t}\r\n\r\n\tgetTransform(){\r\n\t\tconst {translateX, translateY, scale} = this.getTransformCoords();\r\n\t\treturn `translateX(${translateX}px) translateY(${translateY}px) scale(${scale}) translateZ(0)`;\r\n\t} \r\n\t\r\n\trender() {\r\n\r\n\t\tconst spreadPageStyle = {\r\n\t\t\twidth: '100%',\r\n\t\t\theight: '100%',\r\n\t\t\tposition: 'absolute',\r\n\t\t\tdisplay: 'block',\r\n\t\t}\r\n\r\n\t\tconst scale = this.getScale();\r\n\t\tthis.scale = scale;\r\n\r\n\t\tconst {width, height} = this.state.pageSize;\r\n\t\tconst {double, animateZoom} = this;\r\n\t\tconst {backgroundColor} = this.state;\r\n\t\tconst transform = this.getTransform();\r\n\t\tconst {style, className, single} = this.props;\r\n\r\n\r\n\t\tconst localStyle = {\r\n\t\t\tcolor: '#999',\r\n\t\t\ttransform,\r\n\t\t\ttransition: animateZoom ? 'transform 0.16s ease-out' : null,\r\n\t\t\twidth: double ? `${(width * 2)}px` : `${width}px`,\r\n\t\t\theight,\r\n\t\t}\r\n\r\n\t\tif(single)\r\n\t\t\tconsole.log({localStyle})\r\n\r\n\t\tconst spreadStyle = {\r\n\t\t\ttransformOrigin: `center center`,\r\n\t\t\tboxShadow: '0px 2px 10px rgba(0,0,0,0.3)'\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t
{currentPages} / {pagesCount}
\r\n\t\t\t\t\t