avo-hq/avo

Add the ability to change the view type of a field

已关闭

#2,140 创建于 2023年12月18日

 (4 条评论) (0 个反应) (0 位负责人)Ruby (308 个派生)user submission
Back endDSL-relatedEnhancementHelp wantedTask

仓库指标

星标
 (1,778 个星标)
PR 合并指标
 (平均合并 1天 6小时) (30 天内合并 67 个 PR)

描述

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 %>

贡献者指南