anchor.diff:    MenuFun  _handleMenuItemClickFun(Function f,Column column,MenuItem item) => (MouseEvent e) => f(column,item,e);
       _menuItemClick(Column column,MenuItem item,MouseEvent e) {
         _log.finest('click:${column.name} ${item.command}');
  +      core.EventData ed=new core.EventData.fromDom(e);
   
         if (item.disabled) {
           return;
  
positive.code:     });
    }
    String get title =>        _opt['title'];
    bool get disabled =>     _opt['disabled'];
    String get command =>      _opt['command'];
    String get iconCssClass => _opt['iconCssClass'];
    String get iconImage =>    _opt['iconImage'];
  
negative.code:      // var menu = $menuButton.data("menu");
       // var columnDef = $menuButton.data("column");
        if(column.header.length==0) return;
        core.EventData ed=new core.EventData.fromDom(e);
        // Let the user modify the menu or cancel altogether,
        // or provide alternative menu implementation.
        List<MenuItem> menuList = (column.header['menu']['items'] as List).map((_) => new MenuItem(_)).toList() as List<MenuItem>;
        if (onBeforeMenuShow.notify(<String,dynamic>{
            "grid": _grid,
            "column": column,
            "menu": menuList
          }, ed) == false) {
          return;
        }
  
  