"use strict";var e=function(e){return e&&e.__esModule?e["default"]:e},t=function(){function e(e,t){for(var a in t){var n=t[a];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(e,t)}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),a=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=e(require("lodash")),i=e(require("../../common/clipboard")),r={NORMAL:"NORMAL",TOGGLE:"TOGGLE"},o=function(){function e(t){a(this,e),this.animationModel=t,this.reset()}return t(e,{reset:{value:function(){this.animationModel.state.selection.keyframes={selected:{}},this.anchor={layerIndex:null,keyframeIndex:null}}},validateSelection:{value:function(){var e=this;for(var t in this.getState().selected){if(null===this.animationModel.getLayer(t))return void delete this.getState().selected[t];this.getState().selected[t]=n.filter(this.getState().selected[t],function(t){return t.timea||a>=t.animationModel.getLayerCount()-1||e.layerType!==t.animationModel.getLayerByIndex(a).type&&(o=!0)}),o===!1}},forEachLayerSelected:{value:function(e,t){var a=this,i=[];for(var r in this.getState().selected)i.push(r);i=n.sortBy(i,function(t){return e?a.animationModel.getLayerIndex(t):-a.animationModel.getLayerIndex(t)}),i.forEach(function(e){t(e)})}},forEachSelected:{value:function(e,t,a){var i=this;this.forEachLayerSelected(e,function(e){t?n.forEach(i.getState().selected[e],function(t,n){a(e,t,n)}):n.forEachRight(i.getState().selected[e],function(t,n){a(e,t,n)})})}},getState:{value:function(){return this.animationModel.state.selection.keyframes}},includesKeyframes:{value:function(){var e=this;for(var t in this.getState().selected){var a=function(t){for(var a=e.animationModel.getLayer(t),i=e.getState().selected[t],r=0;r=2)return!0;return!1}},isAnchor:{value:function(e,t){return this.animationModel.getLayerIndex(e)===this.getState().anchor.layerIndex&&t===this.getState().anchor.keyframeIndex}},isSelected:{value:function(e,t){return"undefined"==typeof this.getState().selected[e]?!1:-1!==n.findIndex(this.getState().selected[e],function(e){return e===t})}},onClick:{value:function(e,t,a){this.onMouseDown(e,t,a)}},onMouseDown:{value:function(e,t,a,n){1!==e.nativeEvent.which&&(e.preventDefault(),e.stopPropagation());var i=r.NORMAL;if("win32"===process.platform?e.nativeEvent.ctrlKey&&(i=r.TOGGLE):e.nativeEvent.metaKey&&(i=r.TOGGLE),"click"!==e.type||!this.isSingleSelect()&&i!==r.TOGGLE){var o=this.isSelected(t,a);if("click"===e.type||i!==r.NORMAL||e.nativeEvent.shiftKey!==!1||!o){i===r.NORMAL&&("click"===e.type||e.nativeEvent.shiftKey===!0||o===!1&&"click"!==e.type&&e.nativeEvent.shiftKey!==!0)&&(this.animationModel.setKeyframe(a),this.animationModel.setSelection(t),this._clearSelection(),n=!0);var l=this.animationModel.getLayerIndex(t);if(e.nativeEvent.shiftKey===!1)this._addKeyframe(t,a,i)&&(n=!0);else for(var d=Math.min(this.anchor.layerIndex,l),s=Math.max(this.anchor.layerIndex,l),c=d;s>=c;c++)for(var f=Math.min(this.anchor.keyframeIndex,a),h=Math.max(this.anchor.keyframeIndex,a),u=f;h>=u;u++)this._addKeyframe(this.animationModel.getLayerByIndex(c).id,u,i)&&(n=!0);e.nativeEvent.shiftKey===!1&&(this.anchor.layerIndex=l,this.anchor.keyframeIndex=a);var y=this.animationModel.getLayerByIndex(l);y!==this.animationModel.getSelectedLayer()&&(this.animationModel.setSelection(t),n=!0),n&&(this.animationModel.addRedoUndoEntry(),this.animationModel.emit("ondatachanged"))}}}},clearSelection:{value:function(){this._clearSelection()&&(this.animationModel.addRedoUndoEntry(),this.animationModel.emit("ondatachanged"))}},selectAll:{value:function(){this._clearSelection();for(var e=0;ea||a>=n.animationModel.getLayerCount()?void(d[e]=!0):void(n.animationModel.getLayerByIndex(t).type!==n.animationModel.getLayerByIndex(a).type&&(l=!0))}),l!==!0){var s=0>r,c=0>o;if(this.forEachSelected(c,s,function(e,t,l){var d=n.animationModel.getLayerIndex(e)+o,s=n.animationModel.getLayerByIndex(d).id,c=t+r;n.animationModel.keyframeExists(e,t)&&(d>=0&&d<=i.animationModel.getLayerCount()-1&&c>=0&&c<=i.animationModel.getDuration()-1?i.animationModel.moveKeyframe(e,t,s,c,!0,a):a||i.animationModel._deleteKeyByTime(e,t));var f=n.getState().selected[e];f[l]=f[l]+r}),t.layerId!==e.layerId){for(var f in d)delete this.getState().selected[f];var h={};for(var f in this.getState().selected){var u=this.animationModel.getLayerIndex(f);h[this.animationModel.getLayerByIndex(u+o).id]=this.getState().selected[f]}this.getState().selected=h}this.animationModel.setSelection(t.layerId),this.animationModel.addRedoUndoEntry(),this.animationModel.emit("ondatachanged"),this.animationModel.emit("onpropertieschanged")}}},cutSelectedKeyframes:{value:function(){this.copySelectedKeyframes(),this.deleteKeyframes()}},copySelectedKeyframes:{value:function(){var e=this,t=void 0;if(this.isMultiSelect())t=this.getState().selected;else{var a=this.getCurrentKeyframe();if(void 0===a.layerId)return;t={},t[a.layerId]=[a.keyframeIndex]}var r=this.animationModel.getDuration()-1,o=this.animationModel.getLayerCount()-1;for(var l in t)o=Math.min(o,this.animationModel.getLayerIndex(l)),t[l].forEach(function(e){r=Math.min(r,e)});var d=[];for(var l in t)!function(a){var i={layerType:e.animationModel.getLayer(a).type,layerIndex:e.animationModel.getLayerIndex(a)-o,keyframes:[]};t[a].forEach(function(t){var o=e.animationModel.getKeyframe(a,t);o?i.keyframes.push({keyframeIndex:t-r,value:n.cloneDeep(o.value)}):i.keyframes.push({keyframeIndex:t-r,value:null})}),d.push(i)}(l);if(d=n.sortBy(d,function(e){return e.layerIndex}),d.length){var s={type:"keyframes",value:d};i.animationData=JSON.stringify(s)}}},pasteKeyframes:{value:function(e,t){var a=this;if(this.canPasteKeyframes(e,t)!==!1){var n=this._clearSelection(),o=JSON.parse(i.animationData).value,l=this.animationModel.getLayerIndex(e);o.forEach(function(e){var i=e.layerIndex+l;0>i||i>a.animationModel.getLayerCount()-1||e.keyframes.forEach(function(e){var o=e.keyframeIndex+t;if(o>=0||o