app/components/solidus_admin/orders/index/component.rb in solidus_admin-0.1.0 vs app/components/solidus_admin/orders/index/component.rb in solidus_admin-0.2.0

- old
+ new

@@ -1,30 +1,35 @@ # frozen_string_literal: true -class SolidusAdmin::Orders::Index::Component < SolidusAdmin::BaseComponent - include SolidusAdmin::Layout::PageHelpers +class SolidusAdmin::Orders::Index::Component < SolidusAdmin::UI::Pages::Index::Component + def model_class + Spree::Order + end - def initialize(page:) - @page = page + def search_key + :number_or_shipments_number_or_bill_address_name_or_email_cont end - class_attribute :row_fade, default: ->(order) { order.paid? && order.shipped? } - - def title - Spree::Order.model_name.human.pluralize + def search_url + solidus_admin.orders_path(scope: params[:scope]) end - def prev_page_path - solidus_admin.url_for(**request.params, page: @page.number - 1, only_path: true) unless @page.first? + def row_url(order) + spree.edit_admin_order_path(order) end - def next_page_path - solidus_admin.url_for(**request.params, page: @page.next_param, only_path: true) unless @page.last? + def row_fade(order) + order.paid? && order.shipped? end - def batch_actions - [] + def page_actions + render component("ui/button").new( + tag: :a, + text: t('.add'), + href: spree.new_admin_order_path, + icon: "add-line", + ) end def scopes [ { label: t('.scopes.complete'), name: 'completed', default: true }, @@ -98,10 +103,10 @@ def number_column { header: :order, data: ->(order) do - if !row_fade.call(order) + if !row_fade(order) content_tag :div, order.number, class: 'font-semibold' else content_tag :div, order.number end end