<< | Index | >>
Goal/Estimate/Evaluation:
Next
Note
Experiment
Possible solution
Concept
Note
Idea
Experiment
def initialize(product, sortvalue = nil)
if product and items = product.items
@sortvalue = sortvalue
...
def sort_by
# This is called at the first time when a search result is shown
@list.sort_by do |record|
if @sortvalue
record.send(@sortvalue.to_sym).to_s
else
record.pharmacode
end
end
def migel_search
if migel_code = @session.user_input(:migel_code) and product = @session.search_migel_products(migel_code).first
#ODDB::State::Migel::Items.new(@session, ODDB::Migel::Items.new(product))
ODDB::State::Migel::Items.new(@session, ODDB::Migel::Items.new(product, @session.user_input(:sortvalue)))
...
Access


Note
Experiment
def sort_link(header_key, matrix, component)
link = HtmlGrid::Link.new(header_key, @model, @session, self)
link.href = @lookandfeel._event_url(:migel_search, [:migel_code, @model.first.migel_code, :sortvalue, component.to_s])
link
end
Access
Result
Note
Next
Experiment
def migel_search
if migel_code = @session.user_input(:migel_code) and product = @session.search_migel_products(migel_code).first
sort_key = @session.user_input(:sortvalue) || @session.user_input(:reverse)
reverse = @session.user_input(:reverse)
ODDB::State::Migel::Items.new(@session, ODDB::Migel::Items.new(product, sort_key, reverse))
class Items
attr_reader :price, :qty, :unit, :pointer_descr
def initialize(product, sortvalue = nil, reverse = nil)
if product and items = product.items
@sortvalue = sortvalue
@list = items.values
@reverse = reverse
...
def sort_by
# This is called at the first time when a search result is shown
@list.sort_by do |record|
if @sortvalue
if @sortvalue == 'ppub'
record.ppub.to_f
else
record.send(@sortvalue.to_sym).to_s
end
else
record.pharmacode
end
end
#reverse_sort! if @reverse
if @reverse
reverse_sort!
end
@list
end
def sort_link(header_key, matrix, component)
link = HtmlGrid::Link.new(header_key, @model, @session, self)
sort = @session.user_input(:sortvalue) ? :reverse : :sortvalue
link.href = @lookandfeel._event_url(:migel_search, [:migel_code, @model.first.migel_code.gsub('.',''), sort, component.to_s])
link
end
def reverse_sort!
sort! do |a,b|
a.send(@sortvalue.to_sym).to_s <=> b.send(@sortvalue.to_sym).to_s
end
end
Access
Result