Sha256: 95498f9b324ac5bb02793c6a1e78d00acd7a78d3899f245bbc5d24b820b16997

Contents?: true

Size: 1.59 KB

Versions: 6

Compression:

Stored size: 1.59 KB

Contents

# frozen_string_literal: true

class Admin::Tramway::Landing::BlockForm < ::Tramway::Core::ExtendedApplicationForm
  properties :title, :background, :view_state_event, :block_type, :position, :navbar_link, :anchor, :description,
    :link_object_type, :link_object_id, :button_title, :button_link, :view_name, :form_url

  def initialize(object = nil)
    super(object).tap do
      form_properties title: :string,
                      background: :file,
                      position: {
                        type: :numeric,
                        input_options: {
                          hint: I18n.t('hints.tramway.landing.block.position', array: ::Tramway::Landing::Block.active.on_main_page.map(&:position).join(','))
                        }
                      },
                      block_type: :default,
                      navbar_link: :default,
                      anchor: :string,
                      description: :ckeditor,
                      button_title: :string,
                      button_link: :string,
                      view_name: :string,
                      form_url: :string
    end
  end

  def button_title
    model.button ||= {}
    model.button['title'] || ''
  end

  def button_link
    model.button ||= {}
    model.button['link'] || ''
  end

  def button_title=(value)
    model.button ||= {}
    model.button[:title] = value
    model.save
  end

  def button_link=(value)
    model.button ||= {}
    model.button[:link] = value
    model.save
  end

  def form_url=(value)
    model.values ||= {} 
    model.values.merge! form_url: value
    model.save
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
tramway-landing-2.2.2.1 app/forms/admin/tramway/landing/block_form.rb
tramway-landing-2.2.2 app/forms/admin/tramway/landing/block_form.rb
tramway-landing-2.2.1 app/forms/admin/tramway/landing/block_form.rb
tramway-landing-2.2.0.2 app/forms/admin/tramway/landing/block_form.rb
tramway-landing-2.2.0.1 app/forms/admin/tramway/landing/block_form.rb
tramway-landing-2.2 app/forms/admin/tramway/landing/block_form.rb