format :html do ###---( TOP_LEVEL (used by menu) NEW / EDIT VIEWS ) view :board, perms: :update, unknown: true, cache: :never, wrap: :board do with_nest_mode :edit do add_name_context voo.show :help wrap true, breadcrumb_data("Editing", "edit") do board_parts end end end view :cardboard, :board def board_parts voo.show! :edit_type_row [ frame_help, _render_edit_name_row(home_view: :edit_name_row), # home_view is necessary for cancel to work correctly. # it seems a little strange to have to think about home_view here, # but the issue is that something currently has to happen prior to the # render to get voo.slot_options to have the write home view in # the slot wrap. I think this would probably best be handled as an # option to #wrap that triggers a new heir voo _render_edit_form ] end def edit_success # for override end def edit_view_hidden # for override end view :edit_buttons do button_formgroup do [standard_submit_button, edit_cancel_button, delete_button] end end # TODO: add undo functionality view :just_deleted, unknown: true do wrap { "#{render_title} deleted" } end view :edit_rules, cache: :never, unknown: true do nest current_set_card, view: :board_rules_tab end view :edit_structure, cache: :never do return unless card.structure nest card.structure_rule_card, view: :edit # FIXME: this stuff: # slot: { # cancel_slot_selector: ".card-slot.related-view", # cancel_path: card.format.path(view: :edit), hide: :edit_toolbar, # hidden: { success: { view: :open, "slot[subframe]" => true } } # } # } end view :edit_nests, cache: :never do frame do with_nest_mode :edit do multi_card_edit end end end # FIXME: - view can recurse. temporarily turned off # # view :edit_nest_rules, cache: :never do # return ""# # view = args[:rule_view] || :field_related_rules # frame do # # with_nest_mode :edit do # nested_fields.map do |name, _options| # nest Card.fetch(name.to_name.field(:self)), # view: :titled, title: name, rule_view: view, # hide: :set_label, show: :rule_navbar # end # end # end end