Sha256: d97668470d5ea35e4c0f49232c4f1c907b572242dd1d1359865214a29af2d612

Contents?: true

Size: 1.34 KB

Versions: 11

Compression:

Stored size: 1.34 KB

Contents

module PgAssociable
  module Helpers
    MAX_RESULTS = 8

    def pg_respond_abrir_modal
      src = clase_modelo.new.decorate.new_object_url
      content = ModalContentComponent.new(src:).render_in(view_context)
      modal = AsociableModalComponent.new(modal_id: params[:id]).with_content(content)
      render turbo_stream: turbo_stream.append_all('body', modal)
    end

    def pg_respond_buscar
      partial = 'pg_associable/resultados_inline'
      resultados_prefix = 'resultados-inline'
      query = params[:query]
      timeout_id = params[:timeout_id]
      @collection = search_in_scope(query)
      render turbo_stream:
        turbo_stream.update("#{resultados_prefix}-#{params[:id]}",
                            partial:, locals: { collection: @collection, query:, timeout_id: })
    end

    def search_in_scope(query)
      scope = policy_scope(clase_modelo).kept

      if clase_modelo.ransackable_attributes.include?('search')
        scope.ransack(search_cont: query).result
      else
        Rails.logger.warn("WARNING: #{clase_modelo} should implement a 'search' ransacker")

        if scope.respond_to?(:query)
          Rails.logger.warn("DEPRECATED WARNING: #{clase_modelo}#query is deprecated in favor of 'search' ransacker")
          scope.query(query)
        else
          scope.where(id: query)
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
pg_rails-7.6.5 pg_associable/app/helpers/pg_associable/helpers.rb
pg_rails-7.6.4 pg_associable/app/helpers/pg_associable/helpers.rb
pg_rails-7.6.3 pg_associable/app/helpers/pg_associable/helpers.rb
pg_rails-7.6.2 pg_associable/app/helpers/pg_associable/helpers.rb
pg_rails-7.6.1 pg_associable/app/helpers/pg_associable/helpers.rb
pg_rails-7.6.0 pg_associable/app/helpers/pg_associable/helpers.rb
pg_rails-7.5.7 pg_associable/app/helpers/pg_associable/helpers.rb
pg_rails-7.5.6 pg_associable/app/helpers/pg_associable/helpers.rb
pg_rails-7.5.5 pg_associable/app/helpers/pg_associable/helpers.rb
pg_rails-7.5.4 pg_associable/app/helpers/pg_associable/helpers.rb
pg_rails-7.5.3 pg_associable/app/helpers/pg_associable/helpers.rb