Class: Www::CarouselSliderComponent
- Inherits:
-
ApplicationComponent
- Object
- ViewComponent::Base
- ApplicationComponent
- Www::CarouselSliderComponent
- Includes:
- ApplicationHelper
- Defined in:
- app/components/www/carousel_slider_component.rb
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: false, 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, #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, #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: false, rewind: true, class: '', item_partial: nil, item_locals: {}, **html_attributes) ⇒ CarouselSliderComponent
Returns a new instance of CarouselSliderComponent.
4 5 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 |
# File 'app/components/www/carousel_slider_component.rb', line 4 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: false, 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.
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'app/components/www/carousel_slider_component.rb', line 47 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
67 68 69 |
# File 'app/components/www/carousel_slider_component.rb', line 67 def "f-carousel #{@class}".strip end |