awv3
Version:
⚡ AWV3 embedded CAD
171 lines (126 loc) • 8.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _promise = require('babel-runtime/core-js/promise');
var _promise2 = _interopRequireDefault(_promise);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
var _extends3 = require('babel-runtime/helpers/extends');
var _extends4 = _interopRequireDefault(_extends3);
var _plugin = require('../../session/plugin');
var _plugin2 = _interopRequireDefault(_plugin);
var _elements = require('../../session/elements');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var resources = ["icon"].reduce(function (prev, item) {
return (0, _extends4.default)({}, prev, (0, _defineProperty3.default)({}, item, require('./resources/' + item + '.png')));
}, {});
function setResults(label, results) {
label.value = results.reduce(function (text, result) {
text = result.errors.reduce(function (t, e) {
return t + e.errorMessage + "\n";
}, text);
return result.results.reduce(function (t, r) {
return t + r.result + "\n";
}, text);
}, "");
}
var Interpreter = function (_Plugin) {
(0, _inherits3.default)(Interpreter, _Plugin);
function Interpreter(session, args) {
(0, _classCallCheck3.default)(this, Interpreter);
var _this = (0, _possibleConstructorReturn3.default)(this, (Interpreter.__proto__ || (0, _getPrototypeOf2.default)(Interpreter)).call(this, session, (0, _extends4.default)({ type: "Interpreter", icon: "icon", resources: resources }, args)));
_this.chunks = true;
_this.sequence = new _elements.Checkbox(_this, { name: "Sequence", value: _this.chunks });
_this.addElement(new _elements.Group(_this, { format: _elements.Group.Format.Table, children: [_this.sequence] }));
_this.input = new _elements.Input(_this, { name: "Command", value: '_O.ToolBuilder.LoadComponent("iBridge","Drawings/samples/Boring/ExamplesCSYS/820_1020CN19_CSYS/A40_NXLA35_AQ2106_CSYS_SIM_NoBolt.stp");\n_O.ToolBuilder.AddAssemblyNode(["a1"]);\n_O.ToolBuilder.AddComponentNode(["iBridge","iBridge_1"], ["a1"]);\n_O.ToolBuilder.AddAssemblyNode(["a2_0"],["a1"]);\n_O.ToolBuilder.LoadComponent("iAdapter1","Drawings/samples/Boring/ExamplesCSYS/820_1020CN19_CSYS/A35_RXLS24_A060_CSYS_SIM.stp");\n_O.ToolBuilder.AddComponentNode(["iAdapter1","iAdapter1_1","MCS"], ["a2_0"], ["iBridge_1","CSW1"]);\n_O.ToolBuilder.AddAssemblyNode(["a2_1"],["a1"]);\n_O.ToolBuilder.AddComponentNode(["iAdapter1","iAdapter1_2","MCS"], ["a2_1"], ["iBridge_1","CSW2"]);\n_O.ToolBuilder.AddAssemblyNode(["a3_0"],["a2_0"]);\n_O.ToolBuilder.LoadComponent("iAdapter2","Drawings/samples/Boring/ExamplesCSYS/820_1020CN19_CSYS/S24_R820XLS12_012_CSYS_SIM.stp");\n_O.ToolBuilder.AddComponentNode(["iAdapter2","iAdapter2_1","MCS"], ["a3_0"], ["iAdapter1_1","CSW"]);\n_O.ToolBuilder.AddAssemblyNode(["a3_1"],["a2_1"]);\n_O.ToolBuilder.AddComponentNode(["iAdapter2","iAdapter2_2","MCS"], ["a3_1"], ["iAdapter1_2","CSW"]);\n_O.ToolBuilder.LoadComponent("iCassette","Drawings/samples/Boring/ExamplesCSYS/820_1020CN19_CSYS/Cartridge_S12_CSYS_assy_1_SIM.stp");\n_O.ToolBuilder.SetContoursToCutContoursStyle(1);\n_O.ToolBuilder.AddComponentNode(["iCassette","iCassette_1","MCS"], ["a3_0"], ["iAdapter2_1","CSW"]);\n_O.ToolBuilder.AddComponentNode(["iCassette","iCassette_2","MCS"], ["a3_1"], ["iAdapter2_2","CSW"]);',
format: _elements.Input.Format.MultiLine, style: { fontSize: '0.8em', fontFamily: 'monospace' } });
_this.addElement(_this.input);
_this.label = new _elements.Label(_this, { name: "Result", value: "" });
_this.addElement(_this.label);
_this.okButton = new _elements.Button(_this, { name: "Execute", color: "blue" });
_this.clearButton = new _elements.Button(_this, { name: "Clear", color: "red" });
_this.addElement(new _elements.Group(_this, { format: _elements.Group.Format.Buttons, children: [_this.clearButton, _this.okButton] }));
return _this;
}
(0, _createClass3.default)(Interpreter, [{
key: 'onEnabled',
value: function onEnabled() {
var _this2 = this;
this.resetElements();
this.clearButton.observe(function (state) {
return state.lastEvent;
}, function (event) {
_this2.session.activeConnectionClass.execute('_O.ToolBuilder.Clear();');
});
this.okButton.observe(function (state) {
return state.lastEvent;
}, function () {
var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(event) {
var results;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
console.time("INTERPRETER");
results = void 0;
if (!_this2.chunks) {
_context.next = 8;
break;
}
_context.next = 5;
return _promise2.default.all(_this2.input.value.split(";").filter(function (e) {
return e;
}).map(function (command) {
return command.length && _this2.session.activeConnectionClass.execute(command + ";");
}));
case 5:
results = _context.sent;
_context.next = 12;
break;
case 8:
_context.next = 10;
return _this2.session.activeConnectionClass.execute(_this2.input.value);
case 10:
_context.t0 = _context.sent;
results = [_context.t0];
case 12:
_this2.connection.updateView();
console.timeEnd("INTERPRETER");
setResults(_this2.label, results);
case 15:
case 'end':
return _context.stop();
}
}
}, _callee, _this2);
}));
return function (_x) {
return _ref.apply(this, arguments);
};
}());
this.sequence.observe(function (state) {
return state.value;
}, function (value) {
return _this2.chunks = value;
});
}
}]);
return Interpreter;
}(_plugin2.default);
exports.default = Interpreter;