Sha256: fc572c2812912ff9e89d633e42f5e128eef0d98d94ae5543ab760afd65d759f2

Contents?: true

Size: 1.29 KB

Versions: 23

Compression:

Stored size: 1.29 KB

Contents

# frozen_string_literal: true

require "govuk_design_system_formbuilder"

module Koi
  module Form
    module Elements
      class Document < GOVUKDesignSystemFormBuilder::Base
        include FileElement

        def initialize(builder, object_name, attribute_name, hint:, label:, caption:, form_group:, mime_types:,
                       **kwargs, &)
          super(builder, object_name, attribute_name, &)

          @mime_types      = mime_types
          @label           = label
          @caption         = caption
          @hint            = hint
          @html_attributes = kwargs.merge(file_input_options)
          @form_group      = form_group
        end

        def preview
          options = {}
          add_option(options, :data, "#{stimulus_controller}_target", "preview")
          add_option(options, :class, "preview-file")
          add_option(options, :class, "hidden") unless preview?

          tag.div(**options) do
            filename = @builder.object.send(@attribute_name).filename.to_s
            tag.p(filename, class: "preview-filename") + destroy_element_trigger
          end
        end

        private

        def stimulus_controller
          "document-field"
        end

        def form_group_class
          "govuk-document-field"
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
katalyst-koi-4.16.0 lib/koi/form/elements/document.rb
katalyst-koi-4.15.1 lib/koi/form/elements/document.rb
katalyst-koi-4.15.0 lib/koi/form/elements/document.rb
katalyst-koi-4.14.3 lib/koi/form/elements/document.rb
katalyst-koi-4.14.2 lib/koi/form/elements/document.rb
katalyst-koi-4.14.1 lib/koi/form/elements/document.rb
katalyst-koi-4.14.0 lib/koi/form/elements/document.rb
katalyst-koi-4.13.2 lib/koi/form/elements/document.rb
katalyst-koi-4.13.0 lib/koi/form/elements/document.rb
katalyst-koi-4.12.6 lib/koi/form/elements/document.rb
katalyst-koi-4.12.5 lib/koi/form/elements/document.rb
katalyst-koi-4.12.4 lib/koi/form/elements/document.rb
katalyst-koi-4.12.3 lib/koi/form/elements/document.rb
katalyst-koi-4.12.2 lib/koi/form/elements/document.rb
katalyst-koi-4.12.1 lib/koi/form/elements/document.rb
katalyst-koi-4.12.0 lib/koi/form/elements/document.rb
katalyst-koi-4.11.2 lib/koi/form/elements/document.rb
katalyst-koi-4.11.1 lib/koi/form/elements/document.rb
katalyst-koi-4.11.0 lib/koi/form/elements/document.rb
katalyst-koi-4.10.3 lib/koi/form/elements/document.rb