UNPKG

awv3

Version:
180 lines (158 loc) 6.51 kB
import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose"; import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; import _extends from "@babel/runtime/helpers/extends"; var _dec, _class, _class2, _temp, _class3, _temp2; import React from 'react'; import { connect } from 'react-redux'; import PropTypes from 'prop-types'; import { buildFeaturePath } from '../../session/helpers'; import Plugin from '../../session/plugin'; import Graphics from './graphics'; var resources = ['plane'].reduce(function (prev, item) { var _extends2; return _extends({}, prev, (_extends2 = {}, _extends2[item] = require('!!url-loader!awv3-icons/32x32/' + item + '.png'), _extends2)); }, {}); var Root = (_dec = connect(function (state, props) { return { feature: props.plugin.connection.tree[props.plugin.feature] }; }), _dec(_class = (_temp = _class2 = /*#__PURE__*/ function (_React$Component) { _inheritsLoose(Root, _React$Component); function Root(props, context) { var _this; _this = _React$Component.call(this) || this; Object.defineProperty(_assertThisInitialized(_this), "updateOnEnter", { configurable: true, enumerable: true, writable: true, value: function value(event) { return event.key === 'Enter' && _this.change(); } }); Object.defineProperty(_assertThisInitialized(_this), "setDirection", { configurable: true, enumerable: true, writable: true, value: function value(strDirection) { var direction = strDirection.split(',').map(function (strItem) { return parseInt(strItem); }); _this.setState({ direction: direction }); } }); Object.defineProperty(_assertThisInitialized(_this), "setLength", { configurable: true, enumerable: true, writable: true, value: function value(axisLength) { return _this.setState({ axisLength: axisLength }); } }); Object.defineProperty(_assertThisInitialized(_this), "change", { configurable: true, enumerable: true, writable: true, value: function value() { var plugin = _this.context.plugin; var path = buildFeaturePath(plugin.tree, plugin.feature); plugin.connection.execute(path + ".SetDirection(" + _this.state.direction + ");\n " + path + ".SetLength(" + _this.state.axisLength + ");"); } }); _this.state = context.plugin.getFeatureData(); return _this; } var _proto = Root.prototype; _proto.componentWillReceiveProps = function componentWillReceiveProps() { this.setState(this.context.plugin.getFeatureData()); }; _proto.render = function render() { var _state = this.state, direction = _state.direction, axisLength = _state.axisLength; return React.createElement("group", { format: "Table" }, React.createElement("input", { name: "direction", value: direction.join(','), format: "Vector", onValue: this.setDirection //TODO; wrong format now is sets. , onLastEvent: this.updateOnEnter }), React.createElement("input", { name: "Length", value: axisLength, format: "Number", onValue: this.setLength, onLastEvent: this.updateOnEnter })); }; return Root; }(React.Component), Object.defineProperty(_class2, "contextTypes", { configurable: true, enumerable: true, writable: true, value: { plugin: PropTypes.object } }), _temp)) || _class); var Workaxis = (_temp2 = _class3 = /*#__PURE__*/ function (_Plugin) { _inheritsLoose(Workaxis, _Plugin); function Workaxis(session, args) { var _this2; _this2 = _Plugin.call(this, session, _extends({ type: 'Axis', icon: 'plane', resources: resources }, args)) || this; _this2.graphics = new Graphics(_assertThisInitialized(_this2)); _this2.pool.measurable = true; _this2.pool.add(_this2.graphics); _this2.visibleSubscription = _this2.connection.observe(function (state) { var _state$tree$_this2$fe, _state$tree$_this2$fe2; return (_state$tree$_this2$fe = (_state$tree$_this2$fe2 = state.tree[_this2.feature]) === null || _state$tree$_this2$fe2 === void 0 ? void 0 : _state$tree$_this2$fe2.visible) !== null && _state$tree$_this2$fe !== void 0 ? _state$tree$_this2$fe : false; }, function (visible) { _this2.graphics.visible = Boolean(visible); _this2.connection.updateView(); }, { fireOnStart: true }); return _this2; } var _proto2 = Workaxis.prototype; _proto2.render = function render() { return React.createElement(Root, { plugin: this }); }; _proto2.onDestroyed = function onDestroyed() { this.graphics.destroy(); }; _proto2.getFeatureData = function getFeatureData() { var _featureObj$members$T, _featureObj$members$D, _featureObj$members$D2, _featureObj$members$I, _featureObj$members$L, _featureObj$members$L2, _featureObj$members$P, _featureObj$members$R; var featureObj = this.tree[this.feature]; return { type: (_featureObj$members$T = featureObj.members.Type) === null || _featureObj$members$T === void 0 ? void 0 : _featureObj$members$T.value, defined: (_featureObj$members$D = featureObj.members.Defined) === null || _featureObj$members$D === void 0 ? void 0 : _featureObj$members$D.value, direction: (_featureObj$members$D2 = featureObj.members.Direction) === null || _featureObj$members$D2 === void 0 ? void 0 : _featureObj$members$D2.value, inverted: (_featureObj$members$I = featureObj.members.Inverted) === null || _featureObj$members$I === void 0 ? void 0 : _featureObj$members$I.value, axisLength: (_featureObj$members$L = (_featureObj$members$L2 = featureObj.members.Length) === null || _featureObj$members$L2 === void 0 ? void 0 : _featureObj$members$L2.value) !== null && _featureObj$members$L !== void 0 ? _featureObj$members$L : 1, position: (_featureObj$members$P = featureObj.members.Position) === null || _featureObj$members$P === void 0 ? void 0 : _featureObj$members$P.value, references: (_featureObj$members$R = featureObj.members.References) === null || _featureObj$members$R === void 0 ? void 0 : _featureObj$members$R.value }; }; return Workaxis; }(Plugin), Object.defineProperty(_class3, "persistent", { configurable: true, enumerable: true, writable: true, value: true }), _temp2); export { Workaxis as default };