UNPKG

awv3

Version:
200 lines (154 loc) 8.43 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = undefined; 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-tangential', 'assembly', 'aufklappen', 'axis', 'behind', 'cancel', 'chamfer-sketch', 'chamfer', 'circle-3points', 'circle-center-radius', 'circle-ellipse', 'coincident', 'colinear', 'concentric', 'csys', 'down', 'equal', 'equal', '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('!!url-loader!awv3-icons/32x32/' + 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)); var buttons = keys.map(function (name) { if (name === 'arc-3points') { return new _elements.Button(_this, { name: name, icon: name, format: _elements.Button.Format.Menu, children: [new _elements.Label(_this, { value: 'hi world', icon: name }), new _elements.Button(_this, { name: 'Test', icon: name })] }); } else return new _elements.Button(_this, { name: name, icon: name }); }); _this.addElement(new _elements.Group(_this, { format: _elements.Group.Format.Buttons, limit: 7, children: buttons })); _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', children: ['hello', 'there'], value: 'hello' }); _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;