module FreshdeskRails::ViewHelper

Public Instance Methods

freshdesk_tag() click to toggle source
# File lib/freshdesk-rails/view_helper.rb, line 7
def freshdesk_tag
  javascript_include_tag("freshdesk.js")
end
include_popup_freshdesk(options = {}) click to toggle source
# File lib/freshdesk-rails/view_helper.rb, line 11
def include_popup_freshdesk(options = {})
  freshdesk_tag + freshdesk_script_tag(options)
end
update_freshdesk_locale(options = {}) click to toggle source
# File lib/freshdesk-rails/view_helper.rb, line 15
def update_freshdesk_locale(options = {})
  locale = Helper.indifferent_access(options, :locale)
  locale = freshdesk_locale(locale)

  widget_options = {}
  ["submitThanks", "formTitle", "buttonText"].each do |key|
    value = Helper.indifferent_access(options, key)
    widget_options[key] = value unless value.nil?
  end
  script = "window.FreshdeskRails.locale=#{locale.to_json};"
  script += "window.FreshdeskRails.languages=#{widget_options.to_json};" unless widget_options.empty?
  javascript_tag script
end

Private Instance Methods

freshdesk_init_script(options = {}) click to toggle source
# File lib/freshdesk-rails/view_helper.rb, line 35
def freshdesk_init_script(options = {})
  widget_options = {}
  options.each do |key, value|
    widget_options[key.to_s] = value unless key.to_s == 'locale'
  end
  widget_options["widgetType"] = "popup"
  query_string = widget_options["queryString"] || ""
  params = Hash[CGI.parse(query_string).map {|key,values| [key, values[0] || true]}]
  params["formTitle"] ||= widget_options.delete("formTitle")
  params["submitThanks"] ||= widget_options["submitThanks"]
  params["widgetType"] = "popup"
  query_string = URI.encode_www_form(params)
  widget_options["queryString"] = "&#{query_string}" unless query_string.nil? || query_string.empty?
  widget_options[:url] = freshdesk_url(options)
  "FreshWidget.init('', #{widget_options.to_json});"
end
freshdesk_script_tag(options = {}) click to toggle source
# File lib/freshdesk-rails/view_helper.rb, line 31
def freshdesk_script_tag(options = {})
  javascript_tag freshdesk_init_script(options) + freshdesk_urls_script
end
freshdesk_urls_script() click to toggle source
# File lib/freshdesk-rails/view_helper.rb, line 52
def freshdesk_urls_script
  "window.FreshdeskRails.urls=#{FreshdeskRails.configuration.urls.to_json};"
end