Class: OMF::Web::Theme::TabbedRenderer
- Inherits:
-
LayoutRenderer
- Object
- Erector::Widget
- LayoutRenderer
- OMF::Web::Theme::TabbedRenderer
- Defined in:
- lib/omf-web/theme/bright/tabbed_renderer.rb
Instance Method Summary collapse
- #content ⇒ Object
- #get_selected_widget ⇒ Object
-
#initialize(layout_widget, widgets, opts) ⇒ TabbedRenderer
constructor
A new instance of TabbedRenderer.
-
#render_card_nav(selected) ⇒ Object
end.
-
#render_widget(w) ⇒ Object
render_card_nav.
Methods inherited from LayoutRenderer
Constructor Details
#initialize(layout_widget, widgets, opts) ⇒ TabbedRenderer
Returns a new instance of TabbedRenderer.
7 8 9 10 11 12 |
# File 'lib/omf-web/theme/bright/tabbed_renderer.rb', line 7 def initialize(, , opts) super opts @layout_widget = @widgets = || [] @opts = opts end |
Instance Method Details
#content ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/omf-web/theme/bright/tabbed_renderer.rb', line 14 def content selected = () div :class => 'tabbed_layout' do div :id => 'card_nav', :class => 'navigation' do render_card_nav(selected) end if selected div :id => :card_content, :class => 'content' do selected end else div :class => 'flash_alert flash' do text "Nothing to display" end end end end |
#get_selected_widget ⇒ Object
61 62 63 64 65 66 67 68 |
# File 'lib/omf-web/theme/bright/tabbed_renderer.rb', line 61 def () # TODO: THIS NEEDS FIXING - WE NEED TO GET REQ OBJECT THROUGH THREAD req = Thread.current["top_renderer"].opts[:request] # opts[:tab] = tab_id = tab[:id] # opts[:request] = req tid = (req.params['tid'] || 0).to_i return @widgets[tid] end |
#render_card_nav(selected) ⇒ Object
end
39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/omf-web/theme/bright/tabbed_renderer.rb', line 39 def render_card_nav(selected) cname = @opts[:component_name] path = @opts[:path] ol do @widgets.each_with_index do |w, i| klass = (w == selected) ? 'selected' : nil li :class => klass do a w.name || 'unknown', :href => "#{path}?tid=#{i}&sid=#{Thread.current["sessionID"]}" end end end end |
#render_widget(w) ⇒ Object
render_card_nav
53 54 55 56 57 58 59 |
# File 'lib/omf-web/theme/bright/tabbed_renderer.rb', line 53 def (w) r = w.content unless w.layout? r = WidgetChrome.new(w, r, @opts) end rawtext r.to_html end |