             }
             {
               if @state.plugins.length == 0
-                <MenuItem key={1002} disabled>{window.i18n.setting.__ "Install plugins in settings"}</MenuItem>
+                defaultPluginContents
             }
             </NavDropdown>
           </Nav>
           <TabContentsUnion ref='pluginTabUnion'
-            onNewKey={(key) => @setState {activePluginName: key}}>
+            onChange={(key) => @setState {activePluginName: key}}>
           {
             for plugin, index in @state.plugins when !plugin.handleClick?
               <div id={plugin.name} key={plugin.name} className="poi-app-tabpane poi-plugin">

    else
      <div className='poi-tabs-container'>
        <div className="no-scroll">
          <Nav bsStyle="tabs" activeKey={@state.key}>
            <NavItem key={0} eventKey={0} onSelect={@handleSelect}>
              {mainview.displayName}
            </NavItem>
            <NavItem key={1} eventKey={1} onSelect={@handleSelect}>
              {shipview.displayName}
            </NavItem>
            <NavItem key={1000} eventKey={1000} className='poi-app-tabpane' onSelect={@handleSelect}>
              {settings.displayName}
            </NavItem>
          </Nav>
          <TabContentsUnion ref='mainTabUnion'>
            <div id={mainview.name} className="poi-app-tabpane" key='mainView'>
              <mainview.reactClass
                selectedKey={@state.key}

  handleToggleDropdown: ->
    dropdownOpen = !@state.dropdownOpen
    @setState {dropdownOpen}
  selectTab: (key) ->
    return if !key?
    event = new CustomEvent 'TabContentsUnion.show',
      bubbles: true
      cancelable: false
      detail:
        key: key
    window.dispatchEvent event
  handleSelectTab: (key) ->
    @selectTab key
  handleSelectDropdown: (e, key) ->
    @selectTab key
  handleSelectMenuItem: (e, key) ->
    e.preventDefault()
    if @state.doubleTabbed
