Sha256: c2c8ea6a4b7cf7a10d4a34ebe2190e57df2c11473c40ba70534fe3cb0fec974f

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

# frozen_string_literal: true

module Katalyst
  module Tables
    module Query
      class ModalComponent < ViewComponent::Base
        include Katalyst::HtmlAttributes
        include Katalyst::Tables::Frontend

        renders_one :footer
        renders_many :suggestions, SuggestionComponent

        attr_reader :collection, :url

        def initialize(collection:, **)
          super(**)

          @collection = collection
        end

        def before_render
          collection.suggestions.each do |suggestion|
            with_suggestion(suggestion:)
          end

          unless footer?
            with_footer do
              link_to("Search syntax", "https://katalyst.github.io/tables/users/queries")
            end
          end
        end

        private

        def default_html_attributes
          {
            class: "query-modal",
            data:  {
              tables__query_target: "modal",
              action:               ["turbo:before-morph-attribute->tables--query#beforeMorphAttribute"],
            },
          }
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
katalyst-tables-3.5.2 app/components/katalyst/tables/query/modal_component.rb