Allow using a different URL on widget card forms

This commit is contained in:
Javi Martín
2021-02-25 17:19:51 +01:00
parent b8073cc764
commit ba4b1a91e1
8 changed files with 19 additions and 9 deletions

View File

@@ -1,3 +1,3 @@
<%= back_link_to index_path %> <%= back_link_to index_path %>
<%= header %> <%= header %>
<%= render "admin/widget/cards/form", card: card %> <%= render "admin/widget/cards/form", card: card, url: form_path %>

View File

@@ -1,10 +1,11 @@
class Admin::Widget::Cards::EditComponent < ApplicationComponent class Admin::Widget::Cards::EditComponent < ApplicationComponent
include Header include Header
attr_reader :card, :index_path attr_reader :card, :index_path, :form_path
def initialize(card, index_path:) def initialize(card, index_path:, form_path: nil)
@card = card @card = card
@index_path = index_path @index_path = index_path
@form_path = form_path
end end
private private

View File

@@ -1,3 +1,3 @@
<%= back_link_to index_path %> <%= back_link_to index_path %>
<%= header %> <%= header %>
<%= render "admin/widget/cards/form", card: card %> <%= render "admin/widget/cards/form", card: card, url: form_path %>

View File

@@ -1,10 +1,11 @@
class Admin::Widget::Cards::NewComponent < ApplicationComponent class Admin::Widget::Cards::NewComponent < ApplicationComponent
include Header include Header
attr_reader :card, :index_path attr_reader :card, :index_path, :form_path
def initialize(card, index_path:) def initialize(card, index_path:, form_path: nil)
@card = card @card = card
@index_path = index_path @index_path = index_path
@form_path = form_path
end end
private private

View File

@@ -3,6 +3,10 @@ module Admin::Widget::CardsActions
include Translatable include Translatable
include ImageAttributes include ImageAttributes
included do
helper_method :form_path
end
def new def new
@card.header = header_card? @card.header = header_card?
render template: "#{cards_view_path}/new" render template: "#{cards_view_path}/new"
@@ -56,4 +60,8 @@ module Admin::Widget::CardsActions
def cards_view_path def cards_view_path
"admin/widget/cards" "admin/widget/cards"
end end
def form_path
nil
end
end end

View File

@@ -1,6 +1,6 @@
<%= render "shared/globalize_locales", resource: card %> <%= render "shared/globalize_locales", resource: card %>
<%= translatable_form_for [namespace, card.cardable, card] do |f| %> <%= translatable_form_for [namespace, card.cardable, card], url: local_assigns[:url] do |f| %>
<%= render "shared/errors", resource: card %> <%= render "shared/errors", resource: card %>
<div class="row"> <div class="row">

View File

@@ -1 +1 @@
<%= render Admin::Widget::Cards::EditComponent.new(@card, index_path: index_path) %> <%= render Admin::Widget::Cards::EditComponent.new(@card, index_path: index_path, form_path: form_path) %>

View File

@@ -1 +1 @@
<%= render Admin::Widget::Cards::NewComponent.new(@card, index_path: index_path) %> <%= render Admin::Widget::Cards::NewComponent.new(@card, index_path: index_path, form_path: form_path) %>