"use strict";var e=function(e){return e&&e.__esModule?e["default"]:e},t=e(require("react")),a=require("react/addons").addons.PureRenderMixin,$=e(require("jquery")),o=require("atom").CompositeDisposable,r=e(require("../../common/find-node")),n=new AudioContext,i=e(require("path")),s=void 0,d=void 0,l=!1,m=void 0,c=t.createClass({displayName:"KeyframeSlotView",mixins:[a],componentDidMount:function(){this.disposable=new o,this.disposable.add(atom.commands.add(this.getDOMNode(),{"jibo-sdk:delete-keyframe":this._deleteKeyframe,"jibo-sdk:add-keyframe":this._addKeyframe,"jibo-sdk:cut-keyframe":this._cutKeyframe,"jibo-sdk:copy-keyframe":this._copyKeyframe,"jibo-sdk:paste-keyframe":this._pasteKeyframe})),this.getDOMNode().keyframeSlotView=this,this.onDropCB=this.onDrop.bind(this),this.getDOMNode().addEventListener("drop",this.onDropCB,!0),this.renderWaveform(this.props)},componentWillUnmount:function(){this.disposable.dispose(),this.getDOMNode().removeEventListener("drop",this.onDropCB)},onMouseDown:function(e){1===e.nativeEvent.which&&this.props.animationModel.keyframeSelection.onMouseDown(e,this.props.layerId,this.props.keyframeIndex)},onMouseClick:function(e){1===e.nativeEvent.which&&this.props.animationModel.keyframeSelection.onClick(e,this.props.layerId,this.props.keyframeIndex)},componentWillReceiveProps:function(e){this.props.exists||e.exists!==!0?this.props.exists!==!0||e.exists?"undefined"!=typeof e.upserted&&$(this.getDOMNode().childNodes[0]).stop(!0,!0).css({display:"inline-block",backgroundColor:"white"}).fadeIn(100).fadeOut(200):$(this.getDOMNode().childNodes[0]).stop(!0,!0).css({backgroundColor:"#AF2B2B",display:"inline-block"}).fadeIn(100).fadeOut(200):$(this.getDOMNode().childNodes[0]).stop(!0,!0).css({backgroundColor:"#1F8BFF",display:"inline-block"}).fadeIn(200).fadeOut(200),this.renderWaveform(e)},renderWaveform:function(e){var a=this,o=e.animationModel,r=o.getLayer(e.layerId);if("Audio Event"===r.type&&e.exists){var s,d=function(){for(var d=null,l=0;l0))return{v:void 0};if(p===a.file)return{v:void 0};a.file=p;var f=i.resolve(c,"audio",p);a.clearCanvas(),s=new XMLHttpRequest,s.open("GET",f,!0),s.responseType="arraybuffer",s.onload=function(){n.decodeAudioData(s.response,function(e){var r=e.getChannelData(0),n=t.findDOMNode(a.refs.canvas),i=Math.min(o.state.keyframes.duration/o.state.keyframes.framerate-m,e.length/e.sampleRate);n.width=18*i*30,n.height=40;var s=n.getContext("2d");s.beginPath(),s.moveTo(0,20);for(var d=1/540,l=0,c=0;i>c;c+=d){var p=Math.floor(c*e.sampleRate);if(pi||i>=a.props.animationModel.getDuration()||0>d||d>=a.props.animationModel.getLayerCount()||(t.props.animationModel.getLayerByIndex(s).type!==t.props.animationModel.getLayerByIndex(d).type?a.getDOMNode().parentNode.parentNode.parentNode.childNodes[1+d].childNodes[0].childNodes[i].classList.add("drag-over-mismatched"):t.props.animationModel.keyframeExists(e,o)?a.getDOMNode().parentNode.parentNode.parentNode.childNodes[1+d].childNodes[0].childNodes[i].classList.add("drag-over"):a.getDOMNode().parentNode.parentNode.parentNode.childNodes[1+d].childNodes[0].childNodes[i].classList.add("drag-over-empty"))}),s={layerId:this.props.layerId,keyframeIndex:this.props.keyframeIndex}}},onDragLeave:function(){delete this.getDOMNode().style.background},clearDragOverClasses:function(){for(var e=document.getElementsByClassName("animation-channel-keyframes"),t=0;t