Sha256: 93c0b9f211935e96b4b3df7a6d2ddc1028c059c967e495659feb966fef66a45f

Contents?: true

Size: 877 Bytes

Versions: 23

Compression:

Stored size: 877 Bytes

Contents

# Autogrowing textarea.
class modularity.AutogrowTextArea extends modularity.Module

  constructor: (container) ->
    super
    @textarea = @container[0]
    @textarea.style.height = "auto"
    @textarea.style.overflow = "hidden"
    @container.keyup @grow
    @container.focus @grow
    @container.blur @grow

    # How many characters per line.
    @characters_per_line = this.textarea.cols

    # The initial (minimal) number of rows.
    @min_rows = this.textarea.rows

    @grow()


  # Sets the height of the textarea according to the content.
  grow: =>
    @textarea.rows = Math.max modularity.AutogrowTextArea.lines(@characters_per_line, @textarea.value), @min_rows

  # Returns the number of lines
  @lines: (width, text) ->
    lines_count = 0
    lines = text.split(/\n/)
    lines_count += Math.floor((line.length / width) + 1) for line in lines
    lines_count

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
modularity-rails-0.32.2 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.30.1 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.29.0 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.28.0 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.27.0 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.26.4 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.26.3 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.26.2 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.26.1 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.26.0 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.25.0 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.24.1 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.24.0 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.23.0 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.22.1 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.22.0 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.21.0 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.20.3 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.20.2 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee
modularity-rails-0.20.1 app/assets/javascripts/modularity/modules/autogrow_textarea.coffee