diff --git a/src/custom/lookandfeelbase.rb b/src/custom/lookandfeelbase.rb index 071a835..42e5d1f 100644 --- a/src/custom/lookandfeelbase.rb +++ b/src/custom/lookandfeelbase.rb @@ -4617,9 +4617,10 @@ Zeno Davatz [13,0] => :company_name, [14,0] => :ikscat, [15,0] => :feedback, - [16,0] => :twitter_share, - [17,0] => :google_search, - [18,0] => :notify, + [16,0] => :facebook, + [17,0] => :twitter_share, + [18,0] => :google_search, + [19,0] => :notify, } end def section_style diff --git a/src/custom/lookandfeelwrapper.rb b/src/custom/lookandfeelwrapper.rb index 38a50f7..61571c8 100755 --- a/src/custom/lookandfeelwrapper.rb +++ b/src/custom/lookandfeelwrapper.rb @@ -39,6 +39,8 @@ module ODDB ENABLED = [ :fachinfos, :feedback, + :facebook_fan, + :facebook_share, ] def compare_list_components { diff --git a/src/view/additional_information.rb b/src/view/additional_information.rb index dd1e71d..d1be395 100644 --- a/src/view/additional_information.rb +++ b/src/view/additional_information.rb @@ -8,7 +8,7 @@ require 'model/analysis/group' require 'view/drugs/atcchooser' require 'plugin/comarketing' require 'view/tooltip' - +require 'view/ajax/swissmedic_cat' module ODDB module View module PartSize @@ -179,17 +179,22 @@ module ODDB @deductible_count += 1 span = HtmlGrid::Span.new(model, @session, self) deductible = model.deductible + span.css_id = "deductible_#{@deductible_count}" + span.css_class = deductible.to_s + # span.dojo_tooltip = tooltip + span.value = @lookandfeel.lookup(deductible || :deductible_unknown) + $stdout.sync = true if(deductible) tooltip_content = @lookandfeel.lookup(:deductible_title, @lookandfeel.lookup(deductible)) else tooltip_content = @lookandfeel.lookup(:deductible_unknown_title) end - span.css_id = "deductible_#{@deductible_count}" - span.css_class = deductible.to_s - # span.dojo_tooltip = tooltip - span.value = @lookandfeel.lookup(deductible || :deductible_unknown) - ODDB::View::TooltipHelper.set_tooltip(span, nil, tooltip_content) + htlm = ODDB::View::Ajax::SwissmedicCat.new(model, session).to_html(session.cgi) + puts "deductible #{model.pointer} tooltip_content #{tooltip_content} => html #{htlm} #{span.css_id} #{deductible.class}" + ODDB::View::TooltipHelper.set_java_script(span, htlm) + # x = ODDB::View::Ajax::SwissmedicCat.new(model, session); + # ODDB::View::TooltipHelper.set_java_script(span, tooltip_content.to_html(session.cgi)) span.label = true span end @@ -264,8 +269,10 @@ module ODDB txt.value = text_elements.join(' / ') url = @lookandfeel._event_url(:ajax_swissmedic_cat, [:reg, model.iksnr, :seq, model.seqnr, :pack, model.ikscd]) txt.css_id = "ikscat_#{@ikscat_count}" - ODDB::View::TooltipHelper.set_tooltip(txt, url, 'dummy content') - # txt.dojo_tooltip = url + $stdout.sync =true + puts "ikscat Setting tooltip in session #{@session.key} using set_java_script" + htlm = ODDB::View::Ajax::SwissmedicCat.new(model, session).to_html(session.cgi) + ODDB::View::TooltipHelper.set_java_script(txt, htlm) txt end def product_overview_link(model, session=@session) @@ -480,6 +487,18 @@ module ODDB link.css_class = "twitter" link end + def facebook(model, session=@session) + if model.is_a?(DRb::DRbObject) + # in the case of migel items + base = model.localized_name(session.language).to_s.force_encoding('utf-8') + code = model.pharmacode.to_s.force_encoding('utf-8') + facebook_link = @lookandfeel._event_url(:migel_search, {:migel_pharmacode => code}) + else + base = model.name_base + facebook_link = @lookandfeel._event_url(:show, [:reg, model.iksnr, :seq, model.seqnr, :pack, model.ikscd]) + end + [facebook_share(model, session, facebook_link), ' '] + end end end end diff --git a/src/view/drugs/ddd_price.rb b/src/view/drugs/ddd_price.rb index d585636..4686b9d 100644 --- a/src/view/drugs/ddd_price.rb +++ b/src/view/drugs/ddd_price.rb @@ -25,9 +25,9 @@ class DDDPriceTable < HtmlGrid::Composite COLSPAN_MAP = { [1,2,3] => 3, } - CSS_MAP = { + CSS_MAP = { [0,0,6,2] => 'list', - [0,2,2] => 'list nowrap' + [0,2,2] => 'list nowrap' } LABELS = true LEGACY_INTERFACE = false @@ -102,7 +102,7 @@ class DDDPriceComposite < HtmlGrid::Composite components.store [0,3,0], :twitter_share css_map.store [0,3], 'list' end - if @lookandfeel.enabled?(:facebook_share) + if @lookandfeel.enabled?(:facebook_share, false) components.store [0,3,1], :facebook_share css_map.store [0,3], 'list spaced' end diff --git a/src/view/drugs/package.rb b/src/view/drugs/package.rb index c42fc36..146ee01 100644 --- a/src/view/drugs/package.rb +++ b/src/view/drugs/package.rb @@ -208,7 +208,7 @@ class PackageInnerComposite < HtmlGrid::Composite link.value = model.name link.label = true args = { - :zone => :drugs, + :zone => :drugs, :search_query => model.name_base.gsub('/', '%2F'), :search_type => :st_oddb, } @@ -267,14 +267,14 @@ class PackageComposite < HtmlGrid::Composite css_map.store [0,9], 'list' end y = components.length + 1 - if @lookandfeel.enabled?(:twitter_share) - components.store [0,y,0], :twitter_share + if @lookandfeel.enabled?(:facebook_share, true) && seq + components.store [0,y,0], :facebook css_map.store [0,y], 'list' end y = components.length + 1 - if @lookandfeel.enabled?(:facebook_share) - components.store [0,y,1], :facebook_share - css_map.store [0,y], 'list spaced' + if @lookandfeel.enabled?(:twitter_share) + components.store [0,y,0], :twitter_share + css_map.store [0,y], 'list' end super end @@ -299,6 +299,11 @@ class PackageComposite < HtmlGrid::Composite val.value = package_source(model) if model val end + def to_html(context) + # load javascript-sdk of fb in body + html = super + @lookandfeel.enabled?(:facebook_share, true) ? html = facebook_sdk + html : html + end end class Package < PrivateTemplate include PartSize diff --git a/src/view/drugs/resultlist.rb b/src/view/drugs/resultlist.rb index 535d015..1e0adc1 100644 --- a/src/view/drugs/resultlist.rb +++ b/src/view/drugs/resultlist.rb @@ -18,6 +18,7 @@ require 'view/dataformat' require 'view/resultcolors' require 'view/descriptionvalue' require 'view/lookandfeel_components' +require 'view/facebook' require 'sbsm/user' module HtmlGrid @@ -137,7 +138,6 @@ class MailOrderPriceLogo < HtmlGrid::NamedComponent src << ' %.2f' % price.to_f end end - src end end end @@ -146,6 +146,7 @@ class ResultList < HtmlGrid::List include View::ResultColors include View::AdditionalInformation include View::LookandfeelComponents + include View::Facebook COMPONENTS = {} REVERSE_MAP = { :company_name => false, @@ -188,6 +189,7 @@ class ResultList < HtmlGrid::List :price_public => 'list pubprice', :registration_date => 'list italic', :substances => 'list italic', + :facebook => 'list right', :twitter_share => 'list right', :mail_order_price => 'list bold', 'nbsp' => 'list', @@ -217,6 +219,7 @@ class ResultList < HtmlGrid::List :price_public => 'th right', :registration_date => 'th', :substances => 'th', + :facebook => 'th', :twitter_share => 'th', 'nbsp' => 'th', } @@ -401,6 +404,13 @@ class ResultList < HtmlGrid::List end link end + def to_html(context) + # load javascript-sdk of fb in body + $stdout.puts "resultlist to_html #{@lookandfeel.enabled?(:facebook_share, true)}" + html = super + @lookandfeel.enabled?(:facebook_share, true) ? html = facebook_sdk + html : html + html + end end end end diff --git a/src/view/facebook.rb b/src/view/facebook.rb index a82e852..effaf30 100644 --- a/src/view/facebook.rb +++ b/src/view/facebook.rb @@ -8,6 +8,7 @@ module ODDB module View module Facebook def facebook_sdk() + $stdout.puts "facebook_sdk" sdk_setup_script = <