Class: AlTextArea

Inherits:
AlText show all
Defined in:
lib/al_form.rb

Overview

テキストエリアウィジェット

Instance Attribute Summary

Attributes inherited from AlText

#max, #min, #validator

Attributes inherited from AlWidget

#filter, #foreign, #hidden, #label, #message, #name, #required, #tag_attr, #value

Instance Method Summary (collapse)

Methods inherited from AlText

#set_value, #validate

Methods inherited from AlWidget

#set_attr, #set_value

Constructor Details

- (AlTextArea) initialize(name, arg = {})

(AlTextArea) constractor

AlText#initialize argは親クラスも参照

Parameters:

  • name (String)

    ウィジェット識別名 英文字を推奨

  • arg (Hash) (defaults to: {})

    引数ハッシュ

Options Hash (arg):

  • :rows (Integer)

    行数

  • :cols (Integer)

    列数

See Also:



828
829
830
831
832
833
834
835
# File 'lib/al_form.rb', line 828

def initialize( name, arg = {} )
  super( name, arg )
  @validator = arg[:validator] || /[^\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/

  # html必須属性(rows, cols)のセット
  @tag_attr[:rows] = arg[:rows] || 3
  @tag_attr[:cols] = arg[:cols] || 40
end

Instance Method Details

- (String) make_tag(arg = {})

(AlTextArea) HTMLタグの生成

Parameters:

  • arg (Hash) (defaults to: {})

    htmlタグへ追加するアトリビュートを指定

Returns:

  • (String)

    htmlタグ



844
845
846
847
848
849
850
851
852
# File 'lib/al_form.rb', line 844

def make_tag( arg = {} )
  return super( arg )  if @hidden

  r = %Q(<textarea name="#{@name}" id="#{@name}")
  (@tag_attr.merge arg).each do |k,v|
    r << %Q( #{k}="#{Alone::escape_html(v)}")
  end
  return r + ">#{Alone::escape_html( @value )}</textarea>\n"
end

- (String) make_value(*arg)

Note:

改行を
タグに変換しながら出力する。

(AlTextArea) HTML値の生成

Parameters:

  • arg (String)

    表示値。指定なければ内部値を使う。

Returns:

  • (String)

    html文字列



862
863
864
# File 'lib/al_form.rb', line 862

def make_value( *arg )
  return Alone::escape_html_br( arg.empty? ? @value: arg[0] )
end