Class: SwalRails::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/swal_rails/configuration.rb

Overview

Holds runtime configuration for the gem.

A default is created on first access; override via an initializer:

SwalRails.configure do |config|
  config.confirm_mode = :turbo_override
  config.flash_map[:notice] = { icon: "success", toast: true }
end

Constant Summary collapse

CONFIRM_MODES =
%i[off data_attribute turbo_override both].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/swal_rails/configuration.rb', line 21

def initialize
  @confirm_mode = :data_attribute
  @flash_keys_as_meta = true
  @respect_reduced_motion = true
  @expose_window_swal = true
  @i18n_scope = "swal_rails"
  @default_options = {
    buttonsStyling: true,
    reverseButtons: false,
    focusConfirm: true,
    returnFocus: true
  }
  @flash_map = default_flash_map
end

Instance Attribute Details

#confirm_modeObject

Returns the value of attribute confirm_mode.



19
20
21
# File 'lib/swal_rails/configuration.rb', line 19

def confirm_mode
  @confirm_mode
end

#default_optionsObject

Returns the value of attribute default_options.



15
16
17
# File 'lib/swal_rails/configuration.rb', line 15

def default_options
  @default_options
end

#expose_window_swalObject

Returns the value of attribute expose_window_swal.



15
16
17
# File 'lib/swal_rails/configuration.rb', line 15

def expose_window_swal
  @expose_window_swal
end

#flash_keys_as_metaObject

Returns the value of attribute flash_keys_as_meta.



15
16
17
# File 'lib/swal_rails/configuration.rb', line 15

def flash_keys_as_meta
  @flash_keys_as_meta
end

#flash_mapObject

Returns the value of attribute flash_map.



19
20
21
# File 'lib/swal_rails/configuration.rb', line 19

def flash_map
  @flash_map
end

#i18n_scopeObject

Returns the value of attribute i18n_scope.



19
20
21
# File 'lib/swal_rails/configuration.rb', line 19

def i18n_scope
  @i18n_scope
end

#respect_reduced_motionObject

Returns the value of attribute respect_reduced_motion.



15
16
17
# File 'lib/swal_rails/configuration.rb', line 15

def respect_reduced_motion
  @respect_reduced_motion
end

Instance Method Details

#to_client_payloadObject

Snapshot safe for serialization into a meta tag / JSON.



55
56
57
58
59
60
61
62
63
64
# File 'lib/swal_rails/configuration.rb', line 55

def to_client_payload
  {
    confirmMode: confirm_mode,
    respectReducedMotion: respect_reduced_motion,
    exposeWindowSwal: expose_window_swal,
    defaultOptions: default_options,
    flashMap: flash_map,
    i18n: i18n_payload
  }
end