setting up turbo streams

This commit is contained in:
Ana Nunes da Silva
2024-04-20 18:52:53 +01:00
parent 13e4d4beb6
commit 1793f9645b
6 changed files with 19 additions and 1 deletions

View File

@@ -106,6 +106,8 @@ gem 'sidekiq-scheduler'
gem "cable_ready", "5.0.1"
gem "stimulus_reflex", "3.5.0.rc3"
gem 'turbo-rails'
gem 'combine_pdf'
gem 'wicked_pdf'
gem 'wkhtmltopdf-binary'

View File

@@ -770,6 +770,10 @@ GEM
timecop (0.9.8)
timeout (0.4.1)
ttfunk (1.7.0)
turbo-rails (2.0.5)
actionpack (>= 6.0.0)
activejob (>= 6.0.0)
railties (>= 6.0.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (2.5.0)
@@ -959,6 +963,7 @@ DEPENDENCIES
stringex (~> 2.8.5)
stripe
timecop
turbo-rails
valid_email2
validates_lengths_from_database
vcr

View File

@@ -33,6 +33,14 @@ module Admin
"/admin/products?#{params.to_query}" # todo: fix routing so this can be automaticly generated
end
def clone
@product = Spree::Product.find(params[:id])
@cloned_product = @product.duplicate
raise "Clone failed" unless @cloned_product.save
respond_to(&:turbo_stream)
end
private
def init_filters_params

View File

@@ -42,7 +42,7 @@
%td.align-right
= render(VerticalEllipsisMenu::Component.new) do
= link_to t('admin.products_page.actions.edit'), edit_admin_product_path(product), 'data-turbo': false
= link_to t('admin.products_page.actions.clone'), clone_admin_product_path(product), 'data-turbo': false
= link_to t('admin.products_page.actions.clone'), admin_clone_product_path(product), method: :post, 'data-turbo-stream': true
%a{ "data-controller": "modal-link", "data-action": "click->modal-link#setModalDataSetOnConfirm click->modal-link#open",
"data-modal-link-target-value": "product-delete-modal", "class": "delete",
"data-modal-link-modal-dataset-value": {'data-current-id': product.id}.to_json }

View File

@@ -0,0 +1,2 @@
= turbo_stream.replace "products-content" do
%h1= "This is a test."

View File

@@ -73,6 +73,7 @@ Openfoodnetwork::Application.routes.draw do
# This might be easier to arrange once we rename the controller to plain old "products"
post '/products/bulk_update', to: 'products_v3#bulk_update'
get '/products', to: 'products_v3#index'
post 'products/:id/clone', to: 'products_v3#clone', as: 'clone_product'
end
resources :variant_overrides do