                 placeholder: EditSong.MSG_SONG_ARTIST
                 value: song.artist
             div className: 'form-group',
-              textarea
+              GrowingTextarea
                 className: 'form-control'
                 disabled: song.inTrash
                 name: 'lyrics'
+                onChange: @onFieldChange
                 onPaste: @onLyricsPaste
-                onChange: @onFieldChange
                 placeholder: EditSong.MSG_WRITE_LYRICS_HERE
-                ref: 'lyrics'
+                rows: 2
                 value: song.lyrics
               # if usersStore.isLogged()
               #   @renderLocalHistory song

      #   lyricsHistoryShown = !lyricsHistoryShown
      #   @forceUpdate()

      componentDidMount: ->
        @chordproTextarea_ = new goog.ui.Textarea ''
        @chordproTextarea_.decorate @refs['lyrics'].getDOMNode()

      componentDidUpdate: ->
        # For update from other devices. Locally it's not needed.
        @chordproTextarea_.resize()
        @doYellowFadeIfHistoryChanged()

      doYellowFadeIfHistoryChanged: ->
        if !lyricsHistoryShown && lyricsHistoryChanged
          yellowFade.on @refs['lyrics-history-button']

      componentWillUnmount: ->
        @chordproTextarea_.dispose()

      onFieldChange: (e) ->
        actions.setSongProp song, e.target.name, e.target.value

    @constructor
  ###
  constructor: (actions, routes, yellowFade, usersStore, element) ->
    {div, form, input, GrowingTextarea, p, nav, ol, li, br, a, span, button} = element

    # TODO: Move to store.
    editMode = false
