From 5ea7bea9b89eefda60ddf6415e85254e563d35ed Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Mon, 21 Mar 2022 20:49:19 +0100 Subject: [PATCH] Selector now handle {label, value} instead of only string --- app/components/products_table_component.rb | 3 ++- app/components/selector_component.rb | 7 ++++--- .../selector_component/selector_component.html.haml | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/components/products_table_component.rb b/app/components/products_table_component.rb index 08450cd505..d9d52d1e18 100644 --- a/app/components/products_table_component.rb +++ b/app/components/products_table_component.rb @@ -3,7 +3,8 @@ class ProductsTableComponent < ViewComponentReflex::Component def initialize(user:) super - @columns = ["price", "unit"] + @columns = [{ label: I18n.t("admin.products_page.columns_selector.price"), value: "price" }, + { label: I18n.t("admin.products_page.columns_selector.unit"), value: "unit" }] @selected = ["price", "unit"] @user = user diff --git a/app/components/selector_component.rb b/app/components/selector_component.rb index e3a16c8b0f..884f143c2f 100644 --- a/app/components/selector_component.rb +++ b/app/components/selector_component.rb @@ -2,12 +2,13 @@ class SelectorComponent < ViewComponentReflex::Component def initialize(title:, selected:, items:, data: {}) + super @title = title @items = items.map do |item| { - id: item, - name: I18n.t("admin.products_page.columns_selector.#{item}"), - selected: selected.include?(item) + label: item[:label], + value: item[:value], + selected: selected.include?(item[:value]) } end @state = :close diff --git a/app/components/selector_component/selector_component.html.haml b/app/components/selector_component/selector_component.html.haml index f132ee7945..5d77f097ec 100644 --- a/app/components/selector_component/selector_component.html.haml +++ b/app/components/selector_component/selector_component.html.haml @@ -6,5 +6,5 @@ .selector_arrow{data: reflex_data_attributes(:toggle)} .selector_items - @items.each do |item| - .selector_item{id: item[:id], class: ("selected" if item[:selected]), data: @data, "data-value": item[:id]} - = item[:name] + .selector_item{ class: ("selected" if item[:selected]), data: @data, "data-value": item[:value] } + = item[:label]