module Pagy::LimitExtra::FrontendAddOn
def pagy_limit_selector_js(pagy, id: nil, item_name: nil)
def pagy_limit_selector_js(pagy, id: nil, item_name: nil) return '' unless pagy.vars[:limit_extra] id = %( id="#{id}") if id vars = pagy.vars limit = vars[:limit] vars[:limit] = LIMIT_TOKEN url_token = pagy_url_for(pagy, PAGE_TOKEN) vars[:limit] = limit # restore the limit limit_input = %(<input name="limit" type="number" min="1" max="#{vars[:limit_max]}" value="#{ limit}" style="padding: 0; text-align: center; width: #{limit.to_s.length + 1}rem;">#{JSTools::A_TAG}) %(<span#{id} class="pagy limit-selector-js" #{ pagy_data(pagy, :selector, pagy.from, url_token) }><label>#{ pagy_t('pagy.limit_selector_js', item_name: item_name || pagy_t('pagy.item_name', count: limit), limit_input:, count: limit) }</label></span>) end