Class: Www::VideoCardComponent
- Inherits:
-
Railsboot::Component
- Object
- Railsboot::Component
- Www::VideoCardComponent
- Includes:
- ActionView::Helpers::SanitizeHelper, ActionView::Helpers::TagHelper, ActionView::Helpers::UrlHelper, ApplicationHelper, PresenterHelper, SeoHelper
- Defined in:
- app/components/www/video_card_component.rb
Constant Summary collapse
- LAYOUTS =
Layout options
%w[card thumbnail inline].freeze
- DEFAULT_LAYOUT =
'card'.freeze
- CARD_STYLES =
Card styling options
%w[default hover-raise shadow].freeze
- DEFAULT_CARD_STYLE =
'default'.freeze
Constants included from SeoHelper
SeoHelper::AWARDS, SeoHelper::CA_ADDRESS, SeoHelper::CA_BUSINESS_HOURS, SeoHelper::CA_CONTACT_POINT, SeoHelper::CA_CURRENCIES, SeoHelper::CA_DESCRIPTION, SeoHelper::CA_FOUNDING_DATE, SeoHelper::CA_GLOBAL_LOCATION_NUMBER, SeoHelper::CA_LEGAL_NAME, SeoHelper::CA_LOCAL_BUSINESS, SeoHelper::CA_ONLINE_STORE, SeoHelper::CA_RETURN_POLICY, SeoHelper::CA_SALES_DEPARTMENT, SeoHelper::CA_SERVICE_AREA, SeoHelper::CA_URL, SeoHelper::CA_VAT_ID, SeoHelper::CA_WAREHOUSE_DEPARTMENT, SeoHelper::CA_WAREHOUSE_HOURS, SeoHelper::COMPANY_EMAIL, SeoHelper::COMPANY_LOGO, SeoHelper::COMPANY_NAME, SeoHelper::COMPANY_SLOGAN, SeoHelper::EXPERTISE, SeoHelper::FAX_NUMBER, SeoHelper::GS1_COMPANY_PREFIX, SeoHelper::ISO6523_CODE, SeoHelper::PAYMENT_METHODS, SeoHelper::PHONE_NUMBER, SeoHelper::PRIMARY_NAICS, SeoHelper::REFUND_TYPE, SeoHelper::RETURN_FEES, SeoHelper::RETURN_METHOD, SeoHelper::RETURN_POLICY_CATEGORY, SeoHelper::SECONDARY_NAICS, SeoHelper::SOCIAL_PROFILES, SeoHelper::US_ADDRESS, SeoHelper::US_BUSINESS_HOURS, SeoHelper::US_CONTACT_POINT, SeoHelper::US_CURRENCIES, SeoHelper::US_DESCRIPTION, SeoHelper::US_FOUNDING_DATE, SeoHelper::US_GLOBAL_LOCATION_NUMBER, SeoHelper::US_IMAGE, SeoHelper::US_LEGAL_NAME, SeoHelper::US_LOCAL_BUSINESS, SeoHelper::US_ONLINE_STORE, SeoHelper::US_RETURN_POLICY, SeoHelper::US_SALES_DEPARTMENT, SeoHelper::US_SERVICE_AREA, SeoHelper::US_TAX_ID, SeoHelper::US_URL, SeoHelper::US_WAREHOUSE_DEPARTMENT, SeoHelper::US_WAREHOUSE_HOURS
Constants included from IconHelper
IconHelper::CUSTOM_ICON_MAP, IconHelper::CUSTOM_SVG_DIR, IconHelper::DEFAULT_FAMILY
Instance Method Summary collapse
- #before_render ⇒ Object
-
#initialize(video:, layout: DEFAULT_LAYOUT, card_style: DEFAULT_CARD_STYLE, hide_title: false, hide_description: false, display_category_badge: false, display_duration: false, styles: '', show_popup: true, show_direct_link: true, add_schema: true, **html_attributes) ⇒ VideoCardComponent
constructor
A new instance of VideoCardComponent.
- #render? ⇒ Boolean
Methods included from SeoHelper
#add_page_schema, #canada?, #company_social_links, #ensure_context_json, #json_ld_script_tag, #local_business_schema, #online_store_id, #online_store_schema, #page_main_entity, #page_main_entity_json, #render_auto_collection_page_schema, #render_collection_page_schema, #render_local_business_schema, #render_online_store_schema, #render_page_schemas, #render_page_video_schemas, #render_webpage_schema, #render_webpage_schema_with_collections, #usa?
Methods included from PresenterHelper
Methods included from ApplicationHelper
#better_number_to_currency, #check_force_logout, #check_or_cross, #check_or_times, #error_messages, #general_disclaimer_on_product_installation_and_local_codes, #gridjs_from_html_table, #gridjs_table, #is_wy_ip, #line_break, #parent_layout, #pass_or_fail, #render_error_messages_list, #render_video_card, #resolved_auth_form_turbo_frame, #return_path_or, #safe_css_color, #set_return_path_if_present, #set_section_if_present, #tab_frame_id, #to_underscore, #track_page?, #turbo_section_wrapper, #turbo_tabs_request?, #url_on_same_domain_as_request, #widget_index_daily_focus_index_path, #working_hours?, #yes_or_no, #yes_or_no_highlighted, #yes_or_no_with_check_or_cross, #youtube_video
Methods included from UppyUploaderHelper
#file_uploader, #image_uploader, #large_file_uploader_s3, #lead_sketch_uploader, #rma_image_uploader, #rma_image_uploader_s3, #uppy_uploader, #video_uploader
Methods included from ImagesHelper
#image_asset_tag, #image_asset_url
Methods included from UrlsHelper
#catalog_breadcrumb_links, #catalog_link, #catalog_link_for_product_line, #catalog_link_for_sku, #cms_link, #delocalized_path, #path_to_sales_product_sku, #path_to_sales_product_sku_for_product_line, #path_to_sales_product_sku_for_product_line_slug, #product_line_from_catalog_link, #protocol_neutral_url, #sanitize_external_url, #valid_external_url?
Methods included from IconHelper
#account_nav_icon, #fa_icon, #star_rating_html
Constructor Details
#initialize(video:, layout: DEFAULT_LAYOUT, card_style: DEFAULT_CARD_STYLE, hide_title: false, hide_description: false, display_category_badge: false, display_duration: false, styles: '', show_popup: true, show_direct_link: true, add_schema: true, **html_attributes) ⇒ VideoCardComponent
Returns a new instance of VideoCardComponent.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'app/components/www/video_card_component.rb', line 17 def initialize( video:, layout: DEFAULT_LAYOUT, card_style: DEFAULT_CARD_STYLE, hide_title: false, hide_description: false, display_category_badge: false, display_duration: false, styles: '', show_popup: true, show_direct_link: true, add_schema: true, **html_attributes ) super() @video = video @layout = fetch_or_fallback(layout, LAYOUTS, DEFAULT_LAYOUT) @card_style = fetch_or_fallback(card_style, CARD_STYLES, DEFAULT_CARD_STYLE) @hide_title = hide_title @hide_description = hide_description @display_category_badge = display_category_badge @display_duration = display_duration @styles = styles @show_popup = show_popup @show_direct_link = show_direct_link @add_schema = add_schema @html_attributes = html_attributes end |
Instance Method Details
#before_render ⇒ Object
50 51 52 53 54 55 56 57 58 |
# File 'app/components/www/video_card_component.rb', line 50 def before_render # Add video schema to page collection return unless @add_schema # If @video is already a presenter, pass the underlying model to add_page_schema # Otherwise, pass the video object directly video_object = @video.is_a?(Www::VideoPresenter) ? @video.r : @video add_page_schema(:video, video_object) end |
#render? ⇒ Boolean
46 47 48 |
# File 'app/components/www/video_card_component.rb', line 46 def render? @video.present? end |