Module: Engine2::MetaTabSupport

Included in:
FormMeta, MetaListSupport, MetaViewSupport
Defined in:
lib/engine2/meta.rb

Instance Method Summary collapse

Instance Method Details

#field_tabs(hash) ⇒ Object



370
371
372
# File 'lib/engine2/meta.rb', line 370

def field_tabs hash
    @meta[:tabs] = hash.map{|k, v| {name: k, loc: LOCS[k], fields: v} }
end

#lazy_tab(tab_name) ⇒ Object

Raises:



374
375
376
377
378
379
380
# File 'lib/engine2/meta.rb', line 374

def lazy_tab tab_name
   tabs = @meta[:tabs]
   raise E2Error.new("No tabs defined") unless tabs
   tab = tabs.find{|t| t[:name] == tab_name}
   raise E2Error.new("No tab #{tab_name} defined") unless tab
   tab[:lazy] = true
end

#select_tabs(tabs, *args, &blk) ⇒ Object



365
366
367
368
# File 'lib/engine2/meta.rb', line 365

def select_tabs tabs, *args, &blk
    field_tabs tabs
    select *tabs.map{|name, fields|fields}.flatten, *args, &blk
end