mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-05 02:41:33 +00:00
Add product preview modal
Plus open modal when clicking on "preview" link. It's using event to communicate between stimulus controller : https://stimulus.hotwired.dev/reference/controllers#cross-controller-coordination-with-events
This commit is contained in:
@@ -40,4 +40,4 @@
|
||||
"data-modal-link-target-value": "product-delete-modal", "class": "delete",
|
||||
"data-modal-link-modal-dataset-value": {'data-delete-path': admin_product_destroy_path(product)}.to_json }
|
||||
= t('admin.products_page.actions.delete')
|
||||
= link_to "Preview", admin_product_preview_path(product), "data-turbo-stream": ""
|
||||
= link_to "Preview", admin_product_preview_path(product), {"data-turbo-stream": "", "data-controller": "product-preview", "data-action": "click->product-preview#open" } # TODO move product-preview controller to table element ?
|
||||
|
||||
@@ -20,3 +20,6 @@
|
||||
= render partial: 'delete_modal', locals: { object_type: }
|
||||
#modal-component
|
||||
#edit_image_modal
|
||||
|
||||
= render ModalComponent.new(id: "product-preview-modal", "data-action": "product-preview:open@window->modal#open") do
|
||||
#product-preview
|
||||
|
||||
9
app/webpacker/controllers/product_preview_controller.js
Normal file
9
app/webpacker/controllers/product_preview_controller.js
Normal file
@@ -0,0 +1,9 @@
|
||||
import { Controller } from "stimulus";
|
||||
|
||||
export default class extends Controller {
|
||||
open() {
|
||||
// dispatch "product-preview:open" event to trigger modal->open action
|
||||
// see views/admin/product_v3/index.html.haml
|
||||
this.dispatch("open");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user