/**
 * menu for header.
 * @class ApHeaderMenuItem
 */

'use strict'

import React, {PropTypes as types} from 'react'
import classnames from 'classnames'
import {ApButton} from 'apeman-react-button'

/** @lends ApHeaderMenuItem */
const ApHeaderMenuItem = React.createClass({

  // --------------------
  // Specs
  // --------------------

  propTypes: {},

  statics: {
    /**
     * Create an props.
     * @param {string} label - Label oth the item.
     * @param {function} onTap - Callback for on tap.
     * @param {object} props - Property values.
     * @returns {object} - ApHeaderMenu element.
     */
    createItem (label, onTap, props) {
      return (
        <ApHeaderMenuItem onTap={ onTap } { ...props } >
          { label }
        </ApHeaderMenuItem>
      )
    },
    /**
     * Create a primary button item.
     * @param {string} label - Label oth the item.
     * @param {function} onTap - Callback for on tap.
     * @param {object} props - Property values.
     * @returns {object} - ApHeaderMenu element.
     */
    createPrimaryItem (label, onTap, props) {
      return ApHeaderMenuItem.createItem(label, onTap, Object.assign({}, props, { primary: true }))
    }
  },

  getInitialState () {
    return {}
  },

  getDefaultProps () {
    return {}
  },

  render () {
    const s = this
    let { props } = s
    return (
      <ApButton { ...props }
        className={ classnames('ap-header-menu-item', props.className) }
      >
        { props.children }
      </ApButton>
    )
  }
})

export default ApHeaderMenuItem
