Files
JiboSDK/lib/behavior-editor/modals/choose-animation-modal.js
2026-03-22 03:21:45 +02:00

1 line
3.4 KiB
JavaScript

"use strict";var e=function(e){return e&&e.__esModule?e["default"]:e},t=e(require("react")),n=require("atom").CompositeDisposable,s=e(require("../../common/directory-tree-view")),i=e(require("path")),a=e(require("normalize-path")),o=e(require("../../common/get-asset-packs")),r=e(require("../../common/animation/animation-visualizer"));module.exports=t.createClass({displayName:"choose-animation-modal",onChoose:function(){var e=this.state.currentAssetPack,t=i.join(e.root,"animations"),n=i.relative(t,this.state.currentAnimation);n=a(n),"project"!==this.state.currentAssetPack.id&&(n=e.id+"://"+n),this.props.onChoose(n),this.props.onClose()},onCancel:function(){this.props.onClose()},getLength:function(){return Object.keys(this.behaviorToIndexMap).length},getInitialState:function(){return{currentAssetPack:{id:"project"},currentAnimation:"",filter:""}},onAssetPackSelected:function(e){this.setState({currentAssetPack:e})},onSelected:function(e){this.setState({currentAnimation:e})},getPanelHeading:function(e){return t.createElement("div",{className:"panel-heading",style:{padding:"0px",width:"100%",height:30}},t.createElement("p",{style:{textAlign:"center",marginTop:"4px",marginBottom:"4px"}},e))},render:function(){for(var e=this,n=o(this.props.root),a=void 0,c=[],l=0;l<n.length;l++){var m=n[l],d="list-item";this.state.currentAssetPack.id===m.id&&(this.state.currentAssetPack=m,a=m,d+=" selected"),c.push(t.createElement("li",{className:d,onClick:this.onAssetPackSelected.bind(this,m)},t.createElement("span",null,m.name)))}return t.createElement("div",{className:"asset-selector-modal",ref:"modal"},t.createElement("div",{className:"panel-heading",style:{padding:"0px"}},t.createElement("h2",{style:{textAlign:"center",marginTop:"6px",marginBottom:"6px"}},"Choose an Animation")),t.createElement("label",{style:{marginLeft:10}},"Search"),t.createElement("atom-text-editor",{ref:"editor",style:{marginLeft:10,marginRight:10,marginBottom:10},mini:!0}),t.createElement("div",{className:"contents"},t.createElement("div",{className:"list-contents"},this.getPanelHeading("Asset Pack"),t.createElement("div",{className:"list-group asset-pack",ref:"assetPackList"},c)),t.createElement("div",{className:"list-contents"},this.getPanelHeading("Behavior"),t.createElement("div",{className:"asset-list"},t.createElement(s,{uri:i.resolve(a.root,"animations"),onChosen:function(t){e.onSelected(t),e.onChoose()},onSelected:this.onSelected,extension:[".keys",".anim"],filter:this.state.filter}))),t.createElement("div",{className:"preview-contents"},this.getPanelHeading("Preview"),t.createElement("div",{className:"asset-preview"},t.createElement(r,{uri:this.state.currentAnimation,style:{width:"100%",height:"100%"}})))),t.createElement("div",{className:"btn-group"},t.createElement("button",{className:"btn",onClick:this.onChoose},"Choose"),t.createElement("button",{className:"btn",onClick:this.onCancel},"Cancel")))},onLeft:function(){var e=t.findDOMNode(this.refs.assetPackList);e.focus()},onRight:function(){var e=t.findDOMNode(this.refs.schemaList);e.focus()},componentDidMount:function(){var e=this,s=t.findDOMNode(this.refs.editor);setTimeout(function(){s.focus(),e.disposable=new n,e.disposable.add(atom.commands.add(e.getDOMNode(),{"jibo-sdk:escape":e.onCancel})),e.disposable=atom.commands.add(s,"jibo-sdk:confirm",function(){e.onChoose()})},100);var i=s.getModel();i.onDidChange(function(){e.setState({filter:i.getText()})})},componentWillUnmount:function(){this.disposable.dispose()}});