Sha256: b3e61d41a2c569531db56451ee7a22aca7b017f8d490c13efe4143b79d7d03ab
Contents?: true
Size: 811 Bytes
Versions: 2
Compression:
Stored size: 811 Bytes
Contents
# frozen_string_literal: true module Katalyst module Navigation # Renders an HTML button using `button_to`. class Button < Item HTTP_METHODS = %i[get post patch put delete].index_by(&:itself).freeze enum method: HTTP_METHODS, _prefix: :http validates :title, :url, :http_method, presence: true validates :http_method, inclusion: { in: HTTP_METHODS.values.map(&:to_s) } def self.permitted_params super + %i[http_method] end def options_for_target options = super if target == "_blank" || target == "_top" || target == "self" options.deep_merge!({ data: { method: http_method } }) else options.deep_merge!({ data: { turbo_method: http_method } }) end options end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
katalyst-navigation-1.3.4 | app/models/katalyst/navigation/button.rb |
katalyst-navigation-1.3.3 | app/models/katalyst/navigation/button.rb |