awv3
Version:
⚡ AWV3 embedded CAD
186 lines (161 loc) • 5.67 kB
JavaScript
import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
import _extends from "@babel/runtime/helpers/extends";
var _class, _temp2, _dec, _class2, _dec2, _class3;
import React from 'react';
import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import { actions as connectionActions } from '../../session/store/connections';
import Plugin from '../../session/plugin';
import { emptyObject, emptyArray } from '../../session/helpers';
import { buildFeaturePath } from '../../session/helpers';
var resources = ['isometric'].reduce(function (prev, item) {
var _extends2;
return _extends({}, prev, (_extends2 = {}, _extends2[item] = require('!!url-loader!awv3-icons/32x32/' + item + '.png'), _extends2));
}, {});
var Member = (_temp2 = _class =
/*#__PURE__*/
function (_React$Component) {
_inheritsLoose(Member, _React$Component);
function Member() {
var _temp, _this;
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return (_temp = _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this, Object.defineProperty(_assertThisInitialized(_this), "state", {
configurable: true,
enumerable: true,
writable: true,
value: {
value: undefined
}
}), Object.defineProperty(_assertThisInitialized(_this), "update", {
configurable: true,
enumerable: true,
writable: true,
value: function value(event) {
if (event.key === 'Enter') {
_this.context.plugin.connection.execute("_C.CADApplication.SetExpressions(" + _this.props.objectId + ", [\"" + _this.props.memberKey + "\"], [" + _this.state.value + "], 1);");
}
}
}), Object.defineProperty(_assertThisInitialized(_this), "setValue", {
configurable: true,
enumerable: true,
writable: true,
value: function value(_value) {
return _this.setState({
value: _value
});
}
}), _temp) || _assertThisInitialized(_this);
}
var _proto = Member.prototype;
_proto.render = function render() {
var _props = this.props,
items = _props.items,
memberKey = _props.memberKey;
var value = this.state.value;
var item = items[memberKey];
return React.createElement("input", {
name: memberKey,
value: value === undefined ? item.expression || item.value : value,
onValue: this.setValue,
onLastEvent: this.update
});
};
return Member;
}(React.Component), Object.defineProperty(_class, "contextTypes", {
configurable: true,
enumerable: true,
writable: true,
value: {
plugin: PropTypes.object
}
}), _temp2);
var Members = (_dec = connect(function (state, _ref) {
var _state$connections$co, _state$connections$co2;
var id = _ref.id,
connection = _ref.connection;
return {
members: (_state$connections$co = (_state$connections$co2 = state.connections[connection].tree[id]) === null || _state$connections$co2 === void 0 ? void 0 : _state$connections$co2.members) !== null && _state$connections$co !== void 0 ? _state$connections$co : emptyArray
};
}), _dec(_class2 =
/*#__PURE__*/
function (_React$Component2) {
_inheritsLoose(Members, _React$Component2);
function Members() {
return _React$Component2.apply(this, arguments) || this;
}
var _proto2 = Members.prototype;
_proto2.render = function render() {
var _props2 = this.props,
id = _props2.id,
members = _props2.members,
filter = _props2.filter;
var keys = Object.keys(members).filter(function (member) {
return !filter.length || filter.indexOf(member) != -1;
});
return keys.map(function (key) {
return React.createElement(Member, {
key: key,
objectId: id,
memberKey: key,
items: members
});
});
};
return Members;
}(React.Component)) || _class2);
var Root = (_dec2 = connect(function (state, props) {
var _plugin$connection;
var plugin = state.plugins[props.id];
var connection = (_plugin$connection = plugin === null || plugin === void 0 ? void 0 : plugin.connection) !== null && _plugin$connection !== void 0 ? _plugin$connection : state.globals.activeConnection;
return {
connection: connection,
feature: plugin === null || plugin === void 0 ? void 0 : plugin.feature
};
}), _dec2(_class3 =
/*#__PURE__*/
function (_React$Component3) {
_inheritsLoose(Root, _React$Component3);
function Root() {
return _React$Component3.apply(this, arguments) || this;
}
var _proto3 = Root.prototype;
_proto3.render = function render() {
var _props3 = this.props,
connection = _props3.connection,
filter = _props3.filter,
feature = _props3.feature;
return feature ? React.createElement("group", {
format: "Table"
}, React.createElement(Members, {
id: feature,
connection: connection,
filter: filter
})) : null;
};
return Root;
}(React.Component)) || _class3);
var _default =
/*#__PURE__*/
function (_Plugin) {
_inheritsLoose(_default, _Plugin);
function _default(session, args) {
return _Plugin.call(this, session, _extends({
type: 'Members',
icon: 'feature',
filter: [],
resources: resources
}, args)) || this;
}
var _proto4 = _default.prototype;
_proto4.render = function render() {
return React.createElement(Root, {
id: this.id,
filter: this.filter
});
};
return _default;
}(Plugin);
export { _default as default };