class DoctrinesOffcanvasAccordionComponent < BaseComponent with_collection_parameter :search_result attr_reader :search_result, :opts def initialize(search_result:, current_user:, opts: {}) @search_result = search_result @opts = opts end def accordion_name "doctrinesOffCanvasAccordion" end def accordion_body_name "doctrinesOffCanvasAccordionBody" end def parent_accordion_id return accordion_body_name if search_result["parent_id"].blank? [accordion_name, search_result["parent_id"]].join end def children_accordion_id [accordion_name, search_result["heirarchy_level"], search_result["id"]].join end def accordion_id [accordion_name, search_result["id"]].join end def accordion_body_id [accordion_body_name, search_result["id"]].join end def index_url search_doctrines_path(subject_ids: [search_result["id"]], is_index_table: false) end end