packages feed

reanimate-0.1.7.0: viewer/build/static/js/main.b15b405f.chunk.js

(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{12:function(e,t,n){e.exports=n(22)},17:function(e,t,n){},21:function(e,t,n){},22:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n.n(a),s=n(7),o=n.n(s),c=(n(17),n(3)),f=n(8),i=n(10),u=n(9),m=n(2),l=n(4),g=n(11),d=n(5);n(21);Object(d.configure)({ignoreRepeatedEventsWhenKeyHeldDown:!1});var _={PAUSE:"space",STEP_FORWARD:"right",STEP_BACKWARDS:"left",SKIP_FORWARD:"up",SKIP_BACKWARDS:"down"},v=function(e){function t(e){var n;Object(f.a)(this,t),(n=Object(i.a)(this,Object(u.a)(t).call(this,e))).connect=function(){var e=new WebSocket("ws://localhost:9161");e.onopen=function(t){n.setState(function(e){return Object(c.a)({},e,{message:"Connected."})}),e.send("60")},e.onclose=function(e){n.setState(function(e){return Object(c.a)({},e,{message:"Disconnected."})}),n.svgs=[],n.status="",n.frame_count=0,n.next_frame=0,setTimeout(n.connect,1e3)},e.onmessage=function(e){if("Success!"===e.data)console.log("Success");else if("Compiling"===e.data)n.setState({message:"Compiling..."}),n.status="compiling",n.svgs=[],n.frame_count=0,n.next_frame=0;else if("Done"===e.data)n.setState({message:""}),console.log("Done"),n.status="done";else if(e.data.startsWith("Error"))console.log("Error",e.data.substring(5)),n.setState({message:e.data.substring(5)});else{var t=parseInt(e.data);if(isNaN(t)){var a=document.createElement("div");a.innerHTML=e.data,n.svgs[n.next_frame]=a;var r=0;n.svgs.forEach(function(e){return r++})}else"compiling"===n.status?(n.setState({message:"Rendering..."}),n.frame_count=t,n.status="rendering",n.start=Date.now(),n.svgs=[],n.svgs[n.frame_count-1]=void 0):"rendering"===n.status?n.next_frame=t:console.log("Bad state change: received number")}},n.setState(function(t){return Object(c.a)({},t,{socket:e,message:"Connecting..."})})},n.onLoad=function(e){setTimeout(function(){e.resize()},0)},n.state={},setTimeout(n.connect,0),n.svgs=[],n.start=Date.now(),n.status="",n.frame_count=0,n.next_frame=0,n.freeze_frame=null;var a=Object(m.a)(n);return requestAnimationFrame(function e(){Date.now();var t=a.frame_count,r=a.frame_count/60,s=null!==n.freeze_frame?n.freeze_frame:a.frameByTimer(),o=0;if(n.svgs.forEach(function(e){return o++}),t){if(a.svgs[s]){for(n.setState({message:s+"/"+a.frame_count+" "+Math.round(o/r)+" fps"});a.svg.firstChild;)a.svg.removeChild(a.svg.firstChild);a.svg.appendChild(a.svgs[s])}}else a.svg.innerText="";requestAnimationFrame(e)}),n}return Object(g.a)(t,e),Object(l.a)(t,[{key:"frameByTimer",value:function(){var e=Date.now(),t=this.frame_count;return Math.round((e-this.start)/1e3*60)%t}}]),Object(l.a)(t,[{key:"render",value:function(){var e=this,t=this,n=function(){null===t.freeze_frame&&(console.log("Pause"),t.freeze_frame=t.frameByTimer())},a={PAUSE:function(e){e.preventDefault(),null===t.freeze_frame?n():(console.log("unpause"),t.start=Date.now()-t.freeze_frame/60*1e3,t.freeze_frame=null)},STEP_FORWARD:function(e){n(),t.freeze_frame=(t.freeze_frame+1)%t.frame_count},SKIP_FORWARD:function(e){n(),t.freeze_frame=(t.freeze_frame+10)%t.frame_count},STEP_BACKWARDS:function(e){n(),t.freeze_frame-=1,t.freeze_frame<0&&(t.freeze_frame=t.frame_count+t.freeze_frame)},SKIP_BACKWARDS:function(e){n(),t.freeze_frame-=10,t.freeze_frame<0&&(t.freeze_frame=t.frame_count+t.freeze_frame)}},s=this.state.message;return r.a.createElement(d.HotKeys,{handlers:a,keyMap:_},r.a.createElement("div",{className:"App"},r.a.createElement("div",{className:"viewer"},r.a.createElement("div",{ref:function(t){return e.svg=t}}),r.a.createElement("div",{className:"messages"},r.a.createElement("pre",null,s)))))}}]),t}(a.Component);Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));o.a.render(r.a.createElement(v,null),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(e){e.unregister()})}},[[12,1,2]]]);
//# sourceMappingURL=main.b15b405f.chunk.js.map