Class: AlWidget

Inherits:
Object
  • Object
show all
Defined in:
lib/al_form.rb

Overview

ウィジェット スーパークラス

Direct Known Subclasses

AlButton, AlFile, AlNumber, AlSelector, AlText, AlTimestamp

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

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

(AlWidget) constractor

Parameters:

  • name (String)

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

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

    引数ハッシュ

Options Hash (arg):

  • :label (String)

    ラベル文字列

  • :value (Object)

    初期値

  • :required (Boolean)

    必須入力フラグ

  • :filter (String)

    入力値フィルター

  • :tag_attr (Hash)

    htmlタグ要素の追加アトリビュート

  • :foreign (Boolean)

    値が外部で生成されるかのフラグ

  • :hidden (Boolean)

    hiddenタグとして生成するかのフラグ



603
604
605
606
607
608
609
610
611
612
613
# File 'lib/al_form.rb', line 603

def initialize( name, arg = {} )
  @name = name.to_s
  @label = arg[:label] || @name
  @value = arg[:value]        # (note) 初期値にはfilterをかける必要はないだろう
  @required = arg[:required] ? true: false
  @filter = arg[:filter]
  @tag_attr = arg[:tag_attr] || {}
  @foreign = arg[:foreign] ? true : false
  @hidden = arg[:hidden] ? true : false
  @message = ""
end

Instance Attribute Details

- (String) filter

Returns 入力フィルター

Returns:

  • (String)

    入力フィルター



575
576
577
# File 'lib/al_form.rb', line 575

def filter
  @filter
end

- (Boolean) foreign

Returns 値が外部で生成されて、フォーム入力ではない事を示すフラグ

Returns:

  • (Boolean)

    値が外部で生成されて、フォーム入力ではない事を示すフラグ



581
582
583
# File 'lib/al_form.rb', line 581

def foreign
  @foreign
end

- (Boolean) hidden

Returns HTMLタグ input type=“hidden” として生成するかのフラグ

Returns:

  • (Boolean)

    HTMLタグ input type=“hidden” として生成するかのフラグ



584
585
586
# File 'lib/al_form.rb', line 584

def hidden
  @hidden
end

- (String) label

Returns ラベル

Returns:

  • (String)

    ラベル



566
567
568
# File 'lib/al_form.rb', line 566

def label
  @label
end

- (String) message (readonly)

Returns メッセージ

Returns:

  • (String)

    メッセージ



587
588
589
# File 'lib/al_form.rb', line 587

def message
  @message
end

- (Symbol) name (readonly)

Returns 識別名

Returns:

  • (Symbol)

    識別名



563
564
565
# File 'lib/al_form.rb', line 563

def name
  @name
end

- (Boolean) required

Returns 必須入力フラグ

Returns:

  • (Boolean)

    必須入力フラグ



572
573
574
# File 'lib/al_form.rb', line 572

def required
  @required
end

- (Hash) tag_attr

Returns htmlタグ生成時のアトリビュート

Returns:

  • (Hash)

    htmlタグ生成時のアトリビュート



578
579
580
# File 'lib/al_form.rb', line 578

def tag_attr
  @tag_attr
end

- (Object) value

Returns 入力値または初期値

Returns:

  • (Object)

    入力値または初期値



569
570
571
# File 'lib/al_form.rb', line 569

def value
  @value
end

Instance Method Details

- (String) make_value(*arg)

Note:

make_tag()との対称性をもたせるために存在する。

(AlWidget) HTML値の生成

Parameters:

  • arg (String)

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

Returns:

  • (String)

    html文字列



647
648
649
# File 'lib/al_form.rb', line 647

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

- (Object) set_attr(arg)

Note:

名称はsetだが、実質はaddである。 一貫していないようだが、テンプレートとの兼ね合いもあり、 この名称の方が自然に記述できる。

(AlWidget) アトリビュートの設定

Parameters:

  • arg (Hash)

    セットする値



635
636
637
# File 'lib/al_form.rb', line 635

def set_attr( arg )
  @tag_attr.merge!( arg )
end

- (Object) set_value(v) Also known as: value=

(AlWidget) 値のセット

Parameters:

  • v

    セットする値



621
622
623
# File 'lib/al_form.rb', line 621

def set_value( v )
  @value = v
end