smpallen99 / ex_admin

ExAdmin is an auto administration package for Elixir and the Phoenix Framework
MIT License
1.2k stars 276 forks source link

many_to_many checkbox labels #441

Open tim2CF opened 6 years ago

tim2CF commented 6 years ago

I have ExAdmin form like this (simplified real example)

  register_resource Role do

    action_items except: [:delete]
    filter [:id, :name]

    form data do
      inputs do
        input data, :name
        inputs :reactions, fields: [:enum], as: :check_boxes, collection: Reaction.all
      end
    end

    query do
      %{
        all: [
          preload: [
            [reactions: :substance],
          ]
        ],
      }
    end
  end

Relation between Role and Reaction ecto models is many_to_many:

  schema "roles" do
    field         :name,              :string
    many_to_many  :reactions,         Reaction,     join_through: "roles_reactions"
  end

  schema "reactions" do
    field         :enum,      Reaction.EctoEnum
    belongs_to    :substance, Substance
    many_to_many  :roles,     Role,  join_through: "roles_reactions"
  end

In ExAdmin web interface I expect to see checkboxes with labels (:enum field), but actually I see this

screen shot 2018-06-11 at 17 18 57

Full structure is just presented as is. Also I would like to construct label of checkbox not only from :enum field of Reaction, but from :enum field of Substance as well (it should be preloaded). Is it possible to do it in ExAdmin?