Class: Www::CarouselSliderComponent
- Inherits:
-
ApplicationComponent
- Object
- ViewComponent::Base
- ApplicationComponent
- Www::CarouselSliderComponent
- Includes:
- ApplicationHelper
- Defined in:
- app/components/www/carousel_slider_component.rb
Overview
ViewComponent: renders the carousel slider block.
Constant Summary
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
-
#carousel_options ⇒ Object
Options are forwarded as-is to fancy_carousel_controller, which accepts both Fancyapps-native keys (slidesPerPage, infinite, transition, …) and legacy keys (perPage, type, autoplay, …) for migration safety.
-
#initialize(items:, options: {}, per_page: 4, per_move: 1, gap: '1rem', autoplay: true, interval: 3000, pause_on_hover: true, pause_on_focus: true, type: 'loop', arrows: true, pagination: true, rewind: true, class: '', item_partial: nil, item_locals: {}, **html_attributes) ⇒ CarouselSliderComponent
constructor
A new instance of CarouselSliderComponent.
- #slider_classes ⇒ Object
Methods included from ApplicationHelper
#better_number_to_currency, #check_force_logout, #check_or_cross, #check_or_times, #embedded_tab_frame_id, #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 SeoHelper
#add_page_schema, #add_webpage_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 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
Methods inherited from ApplicationComponent
#cms_link, #fetch_or_fallback, #image_asset_tag, #image_tag, #number_to_currency, #number_with_delimiter, #post_path, #post_url, #strip_tags
Constructor Details
#initialize(items:, options: {}, per_page: 4, per_move: 1, gap: '1rem', autoplay: true, interval: 3000, pause_on_hover: true, pause_on_focus: true, type: 'loop', arrows: true, pagination: true, rewind: true, class: '', item_partial: nil, item_locals: {}, **html_attributes) ⇒ CarouselSliderComponent
Returns a new instance of CarouselSliderComponent.
6 7 8 9 10 11 12 13 14 15 16 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/carousel_slider_component.rb', line 6 def initialize( items:, options: {}, per_page: 4, per_move: 1, gap: '1rem', autoplay: true, interval: 3000, pause_on_hover: true, pause_on_focus: true, type: 'loop', arrows: true, pagination: true, rewind: true, class: '', item_partial: nil, item_locals: {}, **html_attributes ) @items = items @options = @per_page = per_page @per_move = per_move @gap = gap @autoplay = autoplay @interval = interval @pause_on_hover = pause_on_hover @pause_on_focus = pause_on_focus @type = type @arrows = arrows @pagination = pagination @rewind = rewind @class = binding.local_variable_get(:class) @item_partial = item_partial @item_locals = item_locals || {} @html_attributes = html_attributes super() end |
Instance Method Details
#carousel_options ⇒ Object
Options are forwarded as-is to fancy_carousel_controller, which accepts
both Fancyapps-native keys (slidesPerPage, infinite, transition, …) and
legacy keys (perPage, type, autoplay, …) for migration safety.
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'app/components/www/carousel_slider_component.rb', line 49 def if @options.any? @options.to_json else { type: @type, perPage: @per_page, perMove: @per_move, gap: @gap, autoplay: @autoplay, interval: @interval, pauseOnHover: @pause_on_hover, pauseOnFocus: @pause_on_focus, arrows: @arrows, pagination: @pagination, rewind: @rewind }.compact.to_json end end |
#slider_classes ⇒ Object
69 70 71 |
# File 'app/components/www/carousel_slider_component.rb', line 69 def "f-carousel #{@class}".strip end |