Class: OMF::Web::Tab::TabbedWidgets::TabbedWidgetsService

Inherits:
AbstractService
  • Object
show all
Defined in:
lib/omf-web/UNUSED/tab/tabbed_widgets/tabbed_widgets_service.rb

Direct Known Subclasses

Graph::GraphService

Instance Method Summary collapse

Constructor Details

#initialize(tab_id, opts) ⇒ TabbedWidgetsService

Returns a new instance of TabbedWidgetsService.



11
12
13
14
15
16
17
# File 'lib/omf-web/UNUSED/tab/tabbed_widgets/tabbed_widgets_service.rb', line 11

def initialize(tab_id, opts)
  super
  debug "New TabbedWidgets Service: #{opts.inspect}"      
  @widgets = (opts[:widgets] || []).collect do |wd| 
    OMF::Web::Widget::AbstractWidget.create_widget(wd) 
  end
end

Instance Method Details

#show(req, opts) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/omf-web/UNUSED/tab/tabbed_widgets/tabbed_widgets_service.rb', line 19

def show(req, opts)
  sname = "tw:#{opts[:tab]}"
  tid = (req.params['tid'] || OMF::Web::SessionStore[sname, :tws] || 0).to_i
  opts[:card_id] = OMF::Web::SessionStore[sname, :tws] = tid
  unless (widget = @widgets[tid])
    if @widgets.count > 0
      opts[:flash] = {:alert => "Unknown widget id '#{tid}'"}
    else
      opts[:flash] = {:alert => "No widgets defined"}
    end                    
  end
  if opts[:widget] = widget
    opts[:card_title] = widget.name
  end

  OMF::Web::Theme.require 'multi_card_page'
  page = OMF::Web::Theme::MultiCardPage.new(widget, @widgets, opts.merge(@opts))
  [page.to_html, 'text/html']
end