Class: AgileCommonRenderer
- Inherits:
-
AgileRenderer
- Object
- AgileRenderer
- AgileCommonRenderer
- Includes:
- AgileApplicationHelper
- Defined in:
- app/renderers/agile_common_renderer.rb
Overview
Renderer methods which may be useful on any site.
Instance Attribute Summary
Attributes included from AgileApplicationHelper
#design, #footer_record, #form, #ids, #json_ld, #menu, #menu_item, #options, #page, #page_title, #part, #parts, #record, #site, #tables
Instance Method Summary collapse
-
#google_analytics ⇒ Object
Renderer for Google analytics code.
-
#layout_4print ⇒ Object
Renderer for printer friendly layout.
-
#render_html ⇒ Object
Return HTML part of code.
Methods included from AgileApplicationHelper
#_agile_link_to, #_origin, #agile_add2_record_cookie, #agile_add_json_ld, #agile_add_meta_tag, #agile_ajax_link_to, #agile_application_menu, #agile_big_table_choices, #agile_big_table_name_for_value, #agile_choices_for, #agile_choices_for_all_tables, #agile_choices_for_folders, #agile_choices_for_menu, #agile_choices_for_site_policies, #agile_deprecate, #agile_dialog_title, #agile_dont?, #agile_edit_frame, #agile_edit_mode?, #agile_edit_title, #agile_error_messages_for, #agile_flash_messages, #agile_get_json_ld, #agile_get_seo_meta_tags, #agile_get_site, #agile_icon_for_link, #agile_img_alt, #agile_img_alt_tag, #agile_internal_var, #agile_limit_string, #agile_link_for_create, #agile_link_for_edit, #agile_link_for_edit1, #agile_link_menu_tag, #agile_link_to, #agile_menu_class, #agile_new_title, #agile_page_bottom, #agile_page_class, #agile_page_edit_menu, #agile_page_top, #agile_render, #agile_render_part, #agile_submit_tag, #agile_user_can_view, #agile_user_has_role?, #agile_warning_messages_for, #decamelize_type
Methods inherited from AgileRenderer
Constructor Details
This class inherits a constructor from AgileRenderer
Instance Method Details
#google_analytics ⇒ Object
Renderer for Google analytics code.
Parameters: Are passed through @opts hash and can therefore be set on site
or page document parameters field as ga_acc key.
Example:
agile_render(:agile_common, method: 'google_analytics', code4: 'UA-12345678-9')
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'app/renderers/agile_common_renderer.rb', line 66 def google_analytics html = '' ga4_acc = @opts[:code4] || @opts[:ga4_acc] if ga4_acc && ga4_acc != '/' html << %( <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=#{ga4_acc}"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '#{ga4_acc}'); </script>) end html.html_safe end |
#layout_4print ⇒ Object
Renderer for printer friendly layout. Will call another renderer which should provide html code for printer friendly output.
Parameters are passed through link. There are currently two parameters, which define renderer and method to be used for creating output.
- renderer
-
Defines renderer’s class
- method
-
Defines renderer’s class method
43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'app/renderers/agile_common_renderer.rb', line 43 def layout_4print return '' if @env.params[:renderer].blank? opts = @opts.dup opts[:method] = @env.params[:method] klass = (@env.params[:renderer] + '_renderer').classify obj = Kernel.const_get(klass, Class.new).new(@env, opts) html = obj.render_html @css += obj.render_css.to_s html end |
#render_html ⇒ Object
Return HTML part of code.
88 89 90 91 |
# File 'app/renderers/agile_common_renderer.rb', line 88 def render_html method = @opts[:method] || 'default' respond_to?(method) ? send(method) : "Error ArCommonRenderer: Method #{method} doesn't exist!" end |