[Borges-users] logout button

Слепнев Владимир slepnev_v at rambler.ru
Sun Apr 11 00:49:21 EDT 2004


1) OK, but how do I delete a session? I tried assigning to session, 
but it doesn't help much.

2) It seems that Borges::TabPanel reacts to the back button 
incorrectly. (I could only see it with caching forced off, obviously.) 
The problem is that a tab click is an instance variable assignment, 
not a call to a new object - so we don't get a new continuation. 
Here's how a variation for my system, DefMon, looks like (yeah, I 
simplified the HTML output a bit too =) :

class DefMon::TabPanel < Borges::Component

	attr_reader :tabs, :selected_tab

	def initialize(tabs, selected_tab = nil)
		@tabs = tabs
		@selected_tab = (tabs.include? selected_tab) ? selected_tab : 
tabs.first
	end

	def render_content_on(r)
		r.table do
			r.table_row do
				@tabs.each {|name| render_tab(name, r)}
			end
		end
	end

	def render_tab(name, r)
		render_tab_spacer_on(r)
		selected = name == @selected_tab
		r.css_class(selected ? 'TabSelected' : 'TabUnselected')
		r.table_data do
			selected ? r.text(name) : (r.anchor(name) {select(name)})
		end
	end

	def render_tab_spacer_on(r)
		r.css_class('TabSpacer')
		r.table_data {r.space}
	end

	def select(name)
		call DefMon::TabPanel.new(@tabs,name)	
	end

end

Vladimir Slepnev


More information about the Borges-users mailing list