Files
JiboSDK/lib/behavior-editor/behavior-editor-view.js

1 line
8.8 KiB
JavaScript
Raw Permalink Normal View History

2026-03-22 03:21:45 +02:00
"use strict";var e,t=function(e){return e&&e.__esModule?e["default"]:e},o=function f(e,t,o){var s=Object.getOwnPropertyDescriptor(e,t);if(void 0===s){var i=Object.getPrototypeOf(e);return null===i?void 0:f(i,t,o)}if("value"in s&&s.writable)return s.value;var a=s.get;if(void 0!==a)return a.call(o)},s=t(require("react")),i=t(require("./tree-view")),a=t(require("./decorator-model")),r=t(require("marked")),n=t(require("../common/layout/layout")),d=t(require("../common/layout/h-layout")),l=t(require("../common/layout/v-layout")),h=t(require("./behavior-arguments-view")),c=t(require("../atom-react/mixins/pane-resize-event-mixin")),v=t(require("../atom-react/mixins/modal-mixin")),u=require("atom").CompositeDisposable,m=t(require("../common/undo-redo")),p=t(require("./modals/behavior-selector-modal"));module.exports=s.createClass(e={displayName:"BehaviorEditorView",mixins:[c,v],getInitialState:function(){var e=this.props.editor.schema,t=this.props.editor.model;return t.on("ondatachanged",this.onModelChanged),this.undoredo=new m(t),{schema:e,model:t,decoratorModel:new a(t),behavior:t.getRoot(),hoveredBehavior:void 0,hoveredDecorator:void 0,lastHovered:void 0,decoratorTreeKey:0}},onBehaviorRowHover:function(e){this.state.hoveredBehavior=e,this.state.lastHovered=this.state.hoveredBehavior},onBehaviorRowHoverLeave:function(){this.state.lastHovered=this.state.hoveredBehavior,this.state.hoveredBehavior=void 0},onDecoratorRowHover:function(e){this.state.hoveredDecorator=e,this.state.lastHovered=this.state.hoveredDecorator},onDecoratorRowHoverLeave:function(){this.state.lastHovered=this.state.hoveredDecorator,this.state.hoveredDecorator=void 0},addDecorator:function(){var e=this;this.state.lastHovered&&!function(){var t=e.state.lastHovered.props.element;e.chooseDecorator(function(o,s){e.state.model.addDecoratorAbove(t,0,o,s)})}()},addSiblingAbove:function(){var e=this;this.state.lastHovered&&(this.state.lastHovered.props.isBehavior?!function(){var t=e.state.lastHovered.props.element,o=e.state.lastHovered.props.row;e.chooseBehavior(function(s,i){e.state.model.addSiblingAbove(t,o,s,i)})}():!function(){var t=e.state.decoratorModel.owner,o=e.state.lastHovered.props.row;e.chooseDecorator(function(s,i){e.state.model.addDecoratorAbove(t,o,s,i)})}())},addSiblingBelow:function(){var e=this;this.state.lastHovered&&(this.state.lastHovered.props.isBehavior?!function(){var t=e.state.lastHovered.props.element,o=e.state.lastHovered.props.row;e.chooseBehavior(function(s,i){e.state.model.addSiblingBelow(t,o,s,i)})}():!function(){var t=e.state.decoratorModel.owner,o=e.state.lastHovered.props.row;e.chooseDecorator(function(s,i){e.state.model.addDecoratorBelow(t,o,s,i)})}())},addChild:function(){var e=this;this.state.lastHovered&&!function(){var t=e.state.lastHovered.props.element;e.chooseBehavior(function(o,s){e.state.model.addChild(t,o,s)})}()},swap:function(){var e=this;this.state.lastHovered&&!function(){var t=e.state.lastHovered.props.element;e.chooseBehavior(function(o,s){e.state.model.swap(t,o,s)})}()},moveUp:function(){if(this.state.lastHovered){var e=this.state.lastHovered.props.row,t=this.state.lastHovered.props.element;this.state.lastHovered.props.isBehavior?this.state.model.moveUp(t,e):this.state.decoratorModel.moveUp(t,e)}},moveDown:function(){if(this.state.lastHovered){var e=this.state.lastHovered.props.row,t=this.state.lastHovered.props.element;this.state.lastHovered.props.isBehavior?this.state.model.moveDown(t,e):this.state.decoratorModel.moveDown(t,e)}},editDescription:function(){if(this.state.lastHovered){var e=this.state.lastHovered.props.element;this.state.lastHovered.props.isBehavior?this._editBehaviorDescription(e):this._editDecoratorDescription(e)}},onModelChanged:function(){this.props.editor.checkModified(),this.setState(this.state)},onBehaviorRowSelected:function(e){e!==this.state.model.behavior&&(this.state.model.setRenderDescription(void 0),this.state.decoratorModel.setRenderDescription(void 0)),this.state.model.setSelectedElement(e),this.setState(this.state)},onDecoratorRowSelected:function(e){e!==this.state.model.behavior&&(th