Create Product component

Update product_component.html.haml
This commit is contained in:
Jean-Baptiste Bellet
2022-03-17 17:30:21 +01:00
parent 1869536529
commit 7692cebbd3
4 changed files with 25 additions and 15 deletions

View File

@@ -0,0 +1,11 @@
# frozen_string_literal: true
class ProductComponent < ViewComponentReflex::Component
def initialize(product:, columns:)
@columns = columns
@image = product.images[0] if product.images.any?
@name = product.name
@unit = "#{product.unit_value} #{product.variant_unit}"
@price = product.price
end
end

View File

@@ -0,0 +1,12 @@
%tr
%td.products_column.title
- if @image
.image
= image_tag @image.url(:mini)
= @name
- if @columns.include?(:unit)
%td.products_column.unit
= @unit
- if @columns.include?(:price)
%td.products_column.price
= @price

View File

@@ -1,14 +0,0 @@
%div.product
= if product.images[0]
%div.image
%img{src: product.images[0].attachment.url(:mini, false) }
%div.title
= product.name
%div.unit
= product.unit_value
= product.variant_unit
%div.price
= product.price
%pre
= product.to_json

View File

@@ -10,4 +10,5 @@
Filter results
#new_products
= render partial: "product", collection: @products
%table.products_table
= render(ProductComponent.with_collection(@products, columns: [:price, :unit]))