avo-hq/avo

Add the ability to change the view type of a field

クローズ

#2,140 opened on 2023/12/18

 (4 件のコメント) (0 件のリアクション) (0 人の担当者)Ruby (308 件のフォーク)user submission
Back endDSL-relatedEnhancementHelp wantedTask

Repository metrics

Stars
 (1,778 個のスター)
PR merge metrics
 (平均マージ 1d 6h) (30d で 67 merged PRs)

説明

From here.

Maybe you must use a computed field on an Edit view. You can fake it like in that comment or you could pass in a computed field with the view set to :show. This will render that field as a show field in the edit view.

Example:

Image

Rough PoC:

        <% if main_panel.present? %>
          <% c.with_body do %>
            <div class="divide-y">
              <% main_panel.items.each_with_index do |field, index| %>
              <% v = field.id == :user_label ? :show : view %>
                <%= render field
                  .hydrate(resource: @resource, model: @resource.model, user: @resource.user, view: view_for(field, forced_view: v))
                  .component_for_view(view_for(field, forced_view: v))
                  .new(field: field, resource: @resource, index: index, form: form, compact: sidebar.present?)
                %>
              <% end %>
            </div>
          <% end %>
        <% end %>

コントリビューターガイド