Sha256: 1d0928495b286c9c06c0e1d722b5fa4ae8326583e153899a3acaf34cbe5bdebc
Contents?: true
Size: 1.98 KB
Versions: 3
Compression:
Stored size: 1.98 KB
Contents
format :html do def views_in_head super + %w[ decko_script_variables head_javascript html5shiv_tag script_config_and_initiation ] end view :decko_script_variables, unknown: true, cache: :never, perms: :none do javascript_tag do decko_script_variables.each_with_object("") do |(k, v), string| string << "#{k}=#{script_variable_to_js v};\n" end end end view :head_javascript, unknown: true, cache: :never, perms: :none do Array.wrap(head_javascript_paths).reject(&:empty?).join("\n") end view :html5shiv_tag, unknown: true, perms: :none do nest :script_html5shiv_printshiv, view: :script_tag end view :script_config_and_initiation, unknown: true, perms: :none do javascript_tag do (mod_js_configs << trigger_slot_ready).join "\n\n" end end view :javascript_include_tag, unknown: true, perms: :none do "\n<!-- javascript_include_tag not overridden for #{card.name} -->\n" end def decko_script_variables { "window.decko": { rootUrl: card_url("") }, "decko.doubleClick": Card.config.double_click, "decko.cssPath": head_stylesheet_path, "decko.currentUserId": (Auth.current_id if Auth.signed_in?) } end def head_javascript_paths return unless (asset_card = param_or_rule_card :script) asset_card.item_cards.map do |script| script.format(:html).render :javascript_include_tag end end private def trigger_slot_ready "$('document').ready(function() { $('.card-slot').trigger('slotReady'); })" end def script_variable_to_js value return "'#{value}'" unless value.is_a? Hash vars = value.each_with_object("") do |(k, v), string| string << "#{k}: #{script_variable_to_js v}" end "{ #{vars} }" end def mod_js_configs mod_js_config.map do |codename, js_decko_function| config_json = escape_javascript Card::Rule.global_setting(codename) "decko.#{js_decko_function}('#{config_json}')" end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
card-mod-script-0.13.2 | set/all/head_javascript.rb |
card-mod-script-0.13.1 | set/all/head_javascript.rb |
card-mod-script-0.13.0 | set/all/head_javascript.rb |