UNPKG

awv3

Version:
71 lines (54 loc) 1.87 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = Handler; var _drag = require('./drag'); var _drag2 = _interopRequireDefault(_drag); var _draw = require('./draw'); var _draw2 = _interopRequireDefault(_draw); var _angle = require('./angle'); var _angle2 = _interopRequireDefault(_angle); var _fillet = require('./fillet'); var _fillet2 = _interopRequireDefault(_fillet); var _duplicate = require('./duplicate'); var _duplicate2 = _interopRequireDefault(_duplicate); var _trim = require('./trim'); var _trim2 = _interopRequireDefault(_trim); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function getHandlerClass(name) { switch (name) { case 'drag': return _drag2.default; case 'point': case 'line': case 'arccenter': case 'arcmiddle': case 'arctangent': case 'circle': return _draw2.default; case 'angle': return _angle2.default; case 'fillet': return _fillet2.default; case 'duplicate': return _duplicate2.default; case 'trim': return _trim2.default; } } // destroy oldHandler (if needed) and return the new handler function Handler(sketcher, name, oldHandler) { var oldClass = getHandlerClass(oldHandler && oldHandler.name), newClass = getHandlerClass(name); var handler = oldHandler; if (oldClass !== newClass) { oldHandler && oldHandler.destroy(); handler = new newClass(sketcher, name); handler.addInteractions(); } if (newClass === _draw2.default) handler.switchMode(name); return handler; } // Support hot reloading if (module.hot) module.hot.accept(['./drag', './draw', './angle', './fillet', './duplicate', './trim']);