UNPKG

awv3

Version:
169 lines (124 loc) 7.66 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); 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 _three = require('three'); var THREE = _interopRequireWildcard(_three); var _object = require('awv3/three/object3'); var _object2 = _interopRequireDefault(_object); var _plugin = require('../../session/plugin'); var _plugin2 = _interopRequireDefault(_plugin); var _dimension = require('../dimension/'); var _dimension2 = _interopRequireDefault(_dimension); var _elements = require('../../session/elements'); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var keys = ["arc-3points", "arc-midpoint", "arc-tagential", "assembly", "aufklappen", "axis", "behind", "cancel", "chamfer-sketch", "chamfer", "circle-3points", "circle-center-radius", "circle-ellipse", "coincident", "colinear", "concentric", "csys", "down", "equal-distance", "equal-radius", "extrusion", "fillet-sketch", "fillet", "fixation", "front", "hdimension", "help", "horizontality", "isometric", "left", "line", "measure", "midpoint", "ok", "parallelity", "part", "perpendicularity", "plane", "point", "rectangle-2points", "rectangle-center-point", "revolve", "right", "schliessen", "symmetric", "tangency", "top", "vdimension", "verticality"]; var resources = keys.reduce(function (prev, item) { return (0, _extends4.default)({}, prev, (0, _defineProperty3.default)({}, item, require('./resources/' + item + '.png'))); }, {}); var Test = function (_Plugin) { (0, _inherits3.default)(Test, _Plugin); function Test(session, args) { (0, _classCallCheck3.default)(this, Test); var _this = (0, _possibleConstructorReturn3.default)(this, (Test.__proto__ || (0, _getPrototypeOf2.default)(Test)).call(this, session, (0, _extends4.default)({ type: "Test", icon: "ok", resources: resources }, args))); _this.okButton = new _elements.Button(_this, { name: "OK", color: "blue" }); _this.cancelButton = new _elements.Button(_this, { name: "Toggle", format: _elements.Button.Format.Toggle }); _this.header = new _elements.Group(_this, { format: _elements.Group.Format.Buttons, children: [_this.okButton, _this.cancelButton] }); _this.addElement(_this.header); _this.addElement(new _elements.Spacer(_this)); _this.addElement(_this.createToolbar(keys, function (children) { return children.map(function (name) { return new _elements.Button(_this, { name: name, icon: name }); }); })); _this.offsetInput = new _elements.Input(_this, { name: "Offset", value: "" }); _this.label = new _elements.Label(_this, { name: "Calc", visible: false }); _this.checkbox = new _elements.Checkbox(_this, { name: "Option", value: true }); _this.dropdown = new _elements.Dropdown(_this, { name: "Features" }); _this.sliderX = new _elements.Slider(_this, { name: "Rotation X", max: 360, step: 10, positions: { 0: '0°', 90: '90°', 180: '180°', 270: '270°', 360: '360°' } }); _this.sliderY = new _elements.Slider(_this, { name: "Rotation Y", max: 360, step: 10, positions: { 0: '0°', 90: '90°', 180: '180°', 270: '270°', 360: '360°' } }); _this.sliderZ = new _elements.Slider(_this, { name: "Rotation Z", max: 360, step: 10, positions: { 0: '0°', 90: '90°', 180: '180°', 270: '270°', 360: '360°' } }); _this.selection = new _elements.Selection(_this, { name: "Objects", types: ['Object'] }); _this.main = new _elements.Group(_this, { format: _elements.Group.Format.Table, children: [_this.offsetInput, _this.checkbox, _this.label, _this.selection, _this.sliderX, _this.sliderY, _this.sliderZ, _this.dropdown] }); _this.addElement(_this.main); _this.labels = new _elements.Group(_this, { format: _elements.Group.Format.Default }); _this.addElement(_this.labels); _this.dimension = new _dimension2.default(_this.session, { name: "This is a link", collapsed: false, closeable: false, parent: _this.id }); _this.addElement(new _elements.Link(_this, { value: _this.dimension.id })); // This makes the plugin a direct dependency that gets capped when the host goes away _this.dependencies.push(_this.dimension); _this.console = new _elements.Console(_this); _this.addElement(_this.console); return _this; } (0, _createClass3.default)(Test, [{ key: 'onEnabled', value: function onEnabled() { var _this2 = this; console.log("onEnabled"); this.resetElements(); // The linked plugin should enable once the host enables, otherwise there may not be a session yet this.dimension.enabled = true; this.okButton.observe(function (state) { return state.lastEvent; }, function (event) { return console.log("OK BUTTON CLICKED"); }); this.checkbox.observe(function (state) { return state.value; }, function (value) { return console.log('CHECKBOX set to ' + value); }); this.dropdown.observe(function (state) { return state.value; }, function (value) { return console.log('DROPDOWN set to ' + value); }); this.offsetInput.observe(function (state) { return state.value; }, function (value) { _this2.label.value = value; _this2.label.visible = value.length > 0; }); this.console.observe(function (state) { return state.value; }, function (value) { console.log(value); _this2.console.children = !value ? [] : [value, value + value, value + value + value]; }); this.console.observe(function (state) { return state.lastEvent; }, function (event) { console.log(event); }); window.selection = this.selection; } }, { key: 'onDisabled', value: function onDisabled() { console.log("onDisabled"); } }, { key: 'onDestroyed', value: function onDestroyed() { console.log("onDestroyed"); } }]); return Test; }(_plugin2.default); exports.default = Test;