UNPKG

awv3

Version:
186 lines (161 loc) 5.67 kB
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 };