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