| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | 'use strict';exports.__esModule = true;var _ariaUtils = require('../aria-utils');var _ariaUtils2 = _interopRequireDefault(_ariaUtils);var _ariaSubmenu = require('./aria-submenu');var _ariaSubmenu2 = _interopRequireDefault(_ariaSubmenu);function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var MenuItem = function MenuItem(domNode) {  this.domNode = domNode;  this.submenu = null;  this.init();};MenuItem.prototype.init = function () {  this.domNode.setAttribute('tabindex', '0');  var menuChild = this.domNode.querySelector('.el-menu');  if (menuChild) {    this.submenu = new _ariaSubmenu2.default(this, menuChild);  }  this.addListeners();};MenuItem.prototype.addListeners = function () {  var _this = this;  var keys = _ariaUtils2.default.keys;  this.domNode.addEventListener('keydown', function (event) {    var prevDef = false;    switch (event.keyCode) {      case keys.down:        _ariaUtils2.default.triggerEvent(event.currentTarget, 'mouseenter');        _this.submenu && _this.submenu.gotoSubIndex(0);        prevDef = true;        break;      case keys.up:        _ariaUtils2.default.triggerEvent(event.currentTarget, 'mouseenter');        _this.submenu && _this.submenu.gotoSubIndex(_this.submenu.subMenuItems.length - 1);        prevDef = true;        break;      case keys.tab:        _ariaUtils2.default.triggerEvent(event.currentTarget, 'mouseleave');        break;      case keys.enter:      case keys.space:        prevDef = true;        event.currentTarget.click();        break;    }    if (prevDef) {      event.preventDefault();    }  });};exports.default = MenuItem;
 |