Sha256: cb22f8564a7a5417cf4ff7f967eeadea0ec59643072075590548a5e315177ce8

Contents?: true

Size: 1.73 KB

Versions: 12

Compression:

Stored size: 1.73 KB

Contents

module Ecoportal
  module API
    class V2
      class Page
        class Component
          class ReferenceField < Page::Component
            passthrough :register_id
            passboolean :hide_create, :hide_attach
            passboolean :hide_metadata, :hide_dashboards
            passboolean :display_fields, :display_fields_in_lookup

            # Quick config helper
            # @param conf [Symbol, Array<Symbol>]
            #   - `:show_fields` specify if the public register fields should be shown (requires `register_id`)
            #   - `:create` specify if the `NEW` button should appear
            #   - `:attach` specify if the `ATTACH` button should appear
            #   - `:metadata` specify if `metadata` should be shown (i.e. status)
            def configure(*conf)
              conf.each_with_object([]) do |cnf, unused|
                case cnf
                when :show_fields
                  self.display_fields = true
                  self.display_fields_in_lookup = true
                when Hash
                  supported = [:create, :attach, :metadata]
                  unless (rest = hash_except(cnf.dup, *supported)).empty?
                    unused.push(rest)
                  end
                  if cnf.key?(:create)   then self.hide_create = !cnf[:create] end
                  if cnf.key?(:attach)   then self.hide_attach = !cnf[:attach] end
                  if cnf.key?(:metadata) then self.hide_metadata = !cnf[:metadata] end
                else
                  unused.push(cnf)
                end
              end.yield_self do |unused|
                super(*unused)
              end
            end

          end
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
ecoportal-api-v2-0.8.20 lib/ecoportal/api/v2/page/component/reference_field.rb
ecoportal-api-v2-0.8.19 lib/ecoportal/api/v2/page/component/reference_field.rb
ecoportal-api-v2-0.8.18 lib/ecoportal/api/v2/page/component/reference_field.rb
ecoportal-api-v2-0.8.17 lib/ecoportal/api/v2/page/component/reference_field.rb
ecoportal-api-v2-0.8.16 lib/ecoportal/api/v2/page/component/reference_field.rb
ecoportal-api-v2-0.8.15 lib/ecoportal/api/v2/page/component/reference_field.rb
ecoportal-api-v2-0.8.14 lib/ecoportal/api/v2/page/component/reference_field.rb
ecoportal-api-v2-0.8.13 lib/ecoportal/api/v2/page/component/reference_field.rb
ecoportal-api-v2-0.8.12 lib/ecoportal/api/v2/page/component/reference_field.rb
ecoportal-api-v2-0.8.11 lib/ecoportal/api/v2/page/component/reference_field.rb
ecoportal-api-v2-0.8.10 lib/ecoportal/api/v2/page/component/reference_field.rb
ecoportal-api-v2-0.8.9 lib/ecoportal/api/v2/page/component/reference_field.rb