awv3
Version:
⚡ AWV3 embedded CAD
180 lines (158 loc) • 6.51 kB
JavaScript
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 };