solidus_admin 0.0.2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.eslintrc.json +7 -0
- data/README.md +2 -2
- data/Rakefile +26 -0
- data/app/assets/builds/.keep +0 -0
- data/app/assets/builds/solidus_admin/tailwind.css +2799 -0
- data/app/assets/config/solidus_admin_manifest.js +1 -0
- data/app/assets/stylesheets/solidus_admin/application.tailwind.css +4 -0
- data/app/assets/stylesheets/solidus_admin/dark.css +12 -0
- data/app/assets/stylesheets/solidus_admin/dimmed.css +11 -0
- data/app/components/solidus_admin/adjustment_reasons/index/component.rb +43 -0
- data/app/components/solidus_admin/base_component.rb +29 -1
- data/app/components/solidus_admin/layout/feedback/component.html.erb +15 -0
- data/app/components/solidus_admin/layout/feedback/component.rb +4 -0
- data/app/components/solidus_admin/layout/feedback/component.yml +3 -0
- data/app/components/solidus_admin/layout/navigation/account/component.html.erb +74 -0
- data/app/components/solidus_admin/layout/navigation/account/component.js +16 -0
- data/app/components/solidus_admin/layout/navigation/account/component.rb +36 -0
- data/app/components/solidus_admin/{sidebar → layout/navigation}/component.html.erb +9 -9
- data/app/components/solidus_admin/layout/navigation/component.rb +26 -0
- data/app/components/solidus_admin/{sidebar → layout/navigation}/item/component.html.erb +5 -5
- data/app/components/solidus_admin/{sidebar → layout/navigation}/item/component.rb +2 -2
- data/app/components/solidus_admin/layout/page_helpers.rb +55 -0
- data/app/components/solidus_admin/{skip_link → layout/skip_link}/component.rb +2 -4
- data/app/components/solidus_admin/option_types/index/component.rb +71 -0
- data/app/components/solidus_admin/orders/cart/component.html.erb +77 -0
- data/app/components/solidus_admin/orders/cart/component.js +37 -0
- data/app/components/solidus_admin/orders/cart/component.rb +7 -0
- data/app/components/solidus_admin/orders/cart/component.yml +3 -0
- data/app/components/solidus_admin/orders/cart/result/component.html.erb +26 -0
- data/app/components/solidus_admin/orders/cart/result/component.rb +11 -0
- data/app/components/solidus_admin/orders/index/component.rb +92 -23
- data/app/components/solidus_admin/orders/index/component.yml +10 -4
- data/app/components/solidus_admin/orders/show/address/component.html.erb +67 -0
- data/app/components/solidus_admin/orders/show/address/component.js +9 -0
- data/app/components/solidus_admin/orders/show/address/component.rb +53 -0
- data/app/components/solidus_admin/orders/show/address/component.yml +14 -0
- data/app/components/solidus_admin/orders/show/component.html.erb +76 -0
- data/app/components/solidus_admin/orders/show/component.js +7 -0
- data/app/components/solidus_admin/orders/show/component.rb +40 -0
- data/app/components/solidus_admin/orders/show/component.yml +21 -0
- data/app/components/solidus_admin/orders/show/customer_search/component.html.erb +14 -0
- data/app/components/solidus_admin/orders/show/customer_search/component.js +14 -0
- data/app/components/solidus_admin/orders/show/customer_search/component.rb +7 -0
- data/app/components/solidus_admin/orders/show/customer_search/component.yml +2 -0
- data/app/components/solidus_admin/orders/show/customer_search/result/component.html.erb +17 -0
- data/app/components/solidus_admin/orders/show/customer_search/result/component.rb +11 -0
- data/app/components/solidus_admin/orders/show/email/component.html.erb +18 -0
- data/app/components/solidus_admin/orders/show/email/component.rb +15 -0
- data/app/components/solidus_admin/orders/show/email/component.yml +8 -0
- data/app/components/solidus_admin/orders/show/summary/component.html.erb +14 -0
- data/app/components/solidus_admin/orders/show/summary/component.rb +7 -0
- data/app/components/solidus_admin/orders/show/summary/component.yml +8 -0
- data/app/components/solidus_admin/payment_methods/index/component.rb +103 -0
- data/app/components/solidus_admin/payment_methods/index/component.yml +10 -0
- data/app/components/solidus_admin/products/index/component.rb +48 -41
- data/app/components/solidus_admin/products/index/component.yml +8 -7
- data/app/components/solidus_admin/products/show/component.html.erb +32 -38
- data/app/components/solidus_admin/products/show/component.rb +2 -0
- data/app/components/solidus_admin/products/show/component.yml +5 -5
- data/app/components/solidus_admin/products/status/component.rb +20 -18
- data/app/components/solidus_admin/products/status/component.yml +1 -0
- data/app/components/solidus_admin/products/stock/component.rb +38 -0
- data/app/components/solidus_admin/products/stock/component.yml +5 -0
- data/app/components/solidus_admin/promotion_categories/index/component.rb +56 -0
- data/app/components/solidus_admin/promotions/index/component.rb +104 -0
- data/app/components/solidus_admin/promotions/index/component.yml +10 -0
- data/app/components/solidus_admin/properties/index/component.rb +64 -0
- data/app/components/solidus_admin/refund_reasons/index/component.rb +53 -0
- data/app/components/solidus_admin/refunds_and_returns/component.rb +40 -0
- data/app/components/solidus_admin/refunds_and_returns/component.yml +3 -0
- data/app/components/solidus_admin/reimbursement_types/index/component.rb +27 -0
- data/app/components/solidus_admin/return_reasons/index/component.rb +42 -0
- data/app/components/solidus_admin/shipping/component.rb +30 -0
- data/app/components/solidus_admin/shipping/component.yml +3 -0
- data/app/components/solidus_admin/shipping_categories/index/component.rb +46 -0
- data/app/components/solidus_admin/shipping_methods/index/component.rb +61 -0
- data/app/components/solidus_admin/stock_items/edit/component.html.erb +89 -0
- data/app/components/solidus_admin/stock_items/edit/component.js +17 -0
- data/app/components/solidus_admin/stock_items/edit/component.rb +23 -0
- data/app/components/solidus_admin/stock_items/edit/component.yml +10 -0
- data/app/components/solidus_admin/stock_items/index/component.rb +174 -0
- data/app/components/solidus_admin/stock_items/index/component.yml +10 -0
- data/app/components/solidus_admin/stock_locations/index/component.rb +89 -0
- data/app/components/solidus_admin/stock_locations/index/component.yml +3 -0
- data/app/components/solidus_admin/store_credit_reasons/index/component.rb +52 -0
- data/app/components/solidus_admin/stores/index/component.rb +58 -0
- data/app/components/solidus_admin/tax_categories/index/component.rb +58 -0
- data/app/components/solidus_admin/tax_rates/index/component.rb +88 -0
- data/app/components/solidus_admin/taxes/component.rb +25 -0
- data/app/components/solidus_admin/taxes/component.yml +3 -0
- data/app/components/solidus_admin/taxonomies/index/component.rb +53 -0
- data/app/components/solidus_admin/ui/badge/component.rb +18 -8
- data/app/components/solidus_admin/ui/badge/component.yml +3 -0
- data/app/components/solidus_admin/ui/button/component.rb +32 -32
- data/app/components/solidus_admin/ui/details_list/component.html.erb +10 -0
- data/app/components/solidus_admin/ui/details_list/component.rb +7 -0
- data/app/components/solidus_admin/ui/dropdown/component.html.erb +50 -0
- data/app/components/solidus_admin/ui/dropdown/component.js +16 -0
- data/app/components/solidus_admin/ui/dropdown/component.rb +28 -0
- data/app/components/solidus_admin/ui/dropdown/component.yml +2 -0
- data/app/components/solidus_admin/ui/forms/address/component.html.erb +36 -0
- data/app/components/solidus_admin/ui/forms/address/component.js +34 -0
- data/app/components/solidus_admin/ui/forms/address/component.rb +14 -0
- data/app/components/solidus_admin/ui/forms/field/component.html.erb +5 -4
- data/app/components/solidus_admin/ui/forms/field/component.rb +53 -15
- data/app/components/solidus_admin/ui/forms/input/component.rb +11 -5
- data/app/components/solidus_admin/ui/forms/search/component.html.erb +52 -0
- data/app/components/solidus_admin/ui/forms/search/component.js +116 -0
- data/app/components/solidus_admin/ui/forms/search/component.rb +8 -0
- data/app/components/solidus_admin/ui/forms/search/component.yml +4 -0
- data/app/components/solidus_admin/ui/forms/search/result/component.rb +12 -0
- data/app/components/solidus_admin/ui/forms/search_field/component.html.erb +20 -0
- data/app/{javascript/solidus_admin/controllers/hello_controller.js → components/solidus_admin/ui/forms/search_field/component.js} +4 -2
- data/app/components/solidus_admin/ui/forms/search_field/component.rb +10 -0
- data/app/components/solidus_admin/ui/forms/search_field/component.yml +2 -0
- data/app/components/solidus_admin/ui/forms/switch/component.rb +27 -31
- data/app/components/solidus_admin/ui/forms/switch_field/component.html.erb +20 -0
- data/app/components/solidus_admin/ui/forms/switch_field/component.rb +11 -0
- data/app/components/solidus_admin/ui/icon/component.rb +4 -0
- data/app/components/solidus_admin/ui/modal/component.html.erb +37 -0
- data/app/components/solidus_admin/ui/modal/component.rb +12 -0
- data/app/components/solidus_admin/ui/modal/component.yml +2 -0
- data/app/components/solidus_admin/ui/pages/index/component.html.erb +30 -0
- data/app/components/solidus_admin/ui/pages/index/component.rb +119 -0
- data/app/components/solidus_admin/ui/pages/index/component.yml +4 -0
- data/app/components/solidus_admin/ui/panel/component.html.erb +26 -12
- data/app/components/solidus_admin/ui/panel/component.rb +17 -0
- data/app/components/solidus_admin/ui/panel/component.yml +1 -3
- data/app/components/solidus_admin/ui/resource_item/component.html.erb +10 -0
- data/app/components/solidus_admin/ui/resource_item/component.rb +9 -0
- data/app/components/solidus_admin/ui/tab/component.rb +9 -8
- data/app/components/solidus_admin/ui/table/component.html.erb +147 -135
- data/app/components/solidus_admin/ui/table/component.js +56 -17
- data/app/components/solidus_admin/ui/table/component.rb +94 -70
- data/app/components/solidus_admin/ui/table/component.yml +0 -1
- data/app/components/solidus_admin/ui/table/ransack_filter/component.html.erb +72 -0
- data/app/components/solidus_admin/ui/table/ransack_filter/component.js +73 -0
- data/app/components/solidus_admin/ui/table/ransack_filter/component.rb +68 -0
- data/app/components/solidus_admin/ui/table/ransack_filter/component.yml +3 -0
- data/app/components/solidus_admin/ui/table/toolbar/component.rb +21 -0
- data/app/components/solidus_admin/ui/thumbnail/component.rb +46 -0
- data/app/components/solidus_admin/ui/toast/component.html.erb +9 -5
- data/app/components/solidus_admin/ui/toast/component.js +9 -6
- data/app/components/solidus_admin/ui/toast/component.rb +2 -2
- data/app/components/solidus_admin/ui/toggletip/component.html.erb +14 -10
- data/app/components/solidus_admin/ui/toggletip/component.js +22 -4
- data/app/components/solidus_admin/ui/toggletip/component.rb +8 -85
- data/app/components/solidus_admin/users/index/component.rb +96 -0
- data/app/components/solidus_admin/users/index/component.yml +15 -0
- data/app/components/solidus_admin/zones/index/component.rb +63 -0
- data/app/controllers/solidus_admin/addresses_controller.rb +92 -0
- data/app/controllers/solidus_admin/adjustment_reasons_controller.rb +40 -0
- data/app/controllers/solidus_admin/base_controller.rb +1 -0
- data/app/controllers/solidus_admin/controller_helpers/authorization.rb +5 -1
- data/app/controllers/solidus_admin/controller_helpers/locale.rb +2 -2
- data/app/controllers/solidus_admin/controller_helpers/search.rb +48 -0
- data/app/controllers/solidus_admin/controller_helpers/theme.rb +30 -0
- data/app/controllers/solidus_admin/countries_controller.rb +12 -0
- data/app/controllers/solidus_admin/customers_controller.rb +29 -0
- data/app/controllers/solidus_admin/line_items_controller.rb +45 -0
- data/app/controllers/solidus_admin/option_types_controller.rb +46 -0
- data/app/controllers/solidus_admin/orders_controller.rb +104 -7
- data/app/controllers/solidus_admin/payment_methods_controller.rb +52 -0
- data/app/controllers/solidus_admin/products_controller.rb +26 -17
- data/app/controllers/solidus_admin/promotion_categories_controller.rb +29 -0
- data/app/controllers/solidus_admin/promotions_controller.rb +46 -0
- data/app/controllers/solidus_admin/properties_controller.rb +33 -0
- data/app/controllers/solidus_admin/refund_reasons_controller.rb +40 -0
- data/app/controllers/solidus_admin/reimbursement_types_controller.rb +31 -0
- data/app/controllers/solidus_admin/return_reasons_controller.rb +40 -0
- data/app/controllers/solidus_admin/shipping_categories_controller.rb +40 -0
- data/app/controllers/solidus_admin/shipping_methods_controller.rb +40 -0
- data/app/controllers/solidus_admin/stock_items_controller.rb +67 -0
- data/app/controllers/solidus_admin/stock_locations_controller.rb +40 -0
- data/app/controllers/solidus_admin/store_credit_reasons_controller.rb +40 -0
- data/app/controllers/solidus_admin/stores_controller.rb +40 -0
- data/app/controllers/solidus_admin/tax_categories_controller.rb +40 -0
- data/app/controllers/solidus_admin/tax_rates_controller.rb +40 -0
- data/app/controllers/solidus_admin/taxonomies_controller.rb +46 -0
- data/app/controllers/solidus_admin/users_controller.rb +50 -0
- data/app/controllers/solidus_admin/zones_controller.rb +40 -0
- data/app/javascript/solidus_admin/controllers/components.js +3 -1
- data/app/javascript/solidus_admin/controllers/confirm_controller.js +21 -0
- data/app/javascript/solidus_admin/controllers/details_click_outside_controller.js +12 -0
- data/app/javascript/solidus_admin/controllers/readonly_when_submitting_controller.js +17 -0
- data/app/javascript/solidus_admin/controllers/sortable_controller.js +33 -0
- data/app/views/layouts/solidus_admin/application.html.erb +16 -10
- data/app/views/layouts/solidus_admin/preview.html.erb +2 -1
- data/app/views/solidus_admin/base/unauthorized.html.erb +4 -0
- data/config/importmap.rb +2 -0
- data/config/initializers/view_component.rb +20 -0
- data/config/locales/adjustment_reasons.en.yml +6 -0
- data/config/locales/customers.en.yml +7 -0
- data/config/locales/errors.en.yml +7 -0
- data/config/locales/line_items.en.yml +9 -0
- data/config/locales/{main_nav.en.yml → menu_item.en.yml} +8 -2
- data/config/locales/option_types.en.yml +6 -0
- data/config/locales/orders.en.yml +9 -0
- data/config/locales/payment_methods.en.yml +6 -0
- data/config/locales/promotion_categories.en.yml +6 -0
- data/config/locales/promotions.en.yml +6 -0
- data/config/locales/properties.en.yml +6 -0
- data/config/locales/refund_reasons_.en.yml +6 -0
- data/config/locales/reimbursement_types.en.yml +4 -0
- data/config/locales/return_reasons.en.yml +6 -0
- data/config/locales/shipping_categories.en.yml +6 -0
- data/config/locales/shipping_methods.en.yml +6 -0
- data/config/locales/stock_items.en.yml +4 -0
- data/config/locales/stock_locations.en.yml +6 -0
- data/config/locales/store_credit_reasons.en.yml +6 -0
- data/config/locales/stores.en.yml +6 -0
- data/config/locales/tax_categories.en.yml +6 -0
- data/config/locales/tax_rates.en.yml +6 -0
- data/config/locales/taxonomies.en.yml +6 -0
- data/config/locales/users.en.yml +6 -0
- data/config/locales/zones.en.yml +6 -0
- data/config/routes.rb +50 -3
- data/config/tailwind.config.js +119 -0
- data/docs/{customizing_main_navigation.md → customizing_menu_items.md} +2 -2
- data/docs/customizing_tailwindcss.md +57 -0
- data/docs/customizing_view_components.md +17 -38
- data/lib/generators/solidus_admin/install/install_generator.rb +13 -4
- data/lib/generators/solidus_admin/install/templates/config/initializers/{solidus_admin.rb → solidus_admin.rb.tt} +10 -14
- data/lib/solidus_admin/admin_resources.rb +23 -0
- data/lib/solidus_admin/configuration.rb +95 -67
- data/lib/solidus_admin/install_tailwindcss.rb +102 -0
- data/lib/solidus_admin/{main_nav_item.rb → menu_item.rb} +2 -2
- data/lib/solidus_admin/version.rb +1 -1
- data/lib/solidus_admin.rb +1 -2
- data/lib/tasks/tailwind.rake +10 -0
- data/solidus_admin.gemspec +3 -4
- metadata +193 -50
- data/app/assets/stylesheets/solidus_admin/application.tailwind.css.erb +0 -35
- data/app/components/solidus_admin/feedback/component.html.erb +0 -11
- data/app/components/solidus_admin/feedback/component.rb +0 -4
- data/app/components/solidus_admin/feedback/component.yml +0 -5
- data/app/components/solidus_admin/orders/index/component.html.erb +0 -31
- data/app/components/solidus_admin/products/index/component.html.erb +0 -30
- data/app/components/solidus_admin/sidebar/account_nav/component.html.erb +0 -67
- data/app/components/solidus_admin/sidebar/account_nav/component.rb +0 -15
- data/app/components/solidus_admin/sidebar/component.rb +0 -21
- data/app/components/solidus_admin/ui/panel/component.js +0 -14
- data/config/solidus_admin/tailwind.config.js.erb +0 -95
- data/docs/customizing_tailwind.md +0 -78
- data/lib/solidus_admin/tailwindcss.rb +0 -58
- data/lib/tasks/tailwindcss.rake +0 -55
- /data/app/components/solidus_admin/{sidebar/account_nav → layout/navigation/account}/component.yml +0 -0
- /data/app/components/solidus_admin/{sidebar → layout/navigation}/component.js +0 -0
- /data/app/components/solidus_admin/{sidebar → layout/navigation}/component.yml +0 -0
- /data/app/components/solidus_admin/{skip_link → layout/skip_link}/component.yml +0 -0
@@ -0,0 +1,50 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SolidusAdmin
|
4
|
+
class UsersController < SolidusAdmin::BaseController
|
5
|
+
include SolidusAdmin::ControllerHelpers::Search
|
6
|
+
|
7
|
+
search_scope(:customers, default: true) { _1.left_outer_joins(:role_users).where(role_users: { id: nil }) }
|
8
|
+
search_scope(:admin) { _1.joins(:role_users).distinct }
|
9
|
+
search_scope(:with_orders) { _1.joins(:orders).distinct }
|
10
|
+
search_scope(:without_orders) { _1.left_outer_joins(:orders).where(orders: { id: nil }) }
|
11
|
+
search_scope(:all)
|
12
|
+
|
13
|
+
def index
|
14
|
+
users = apply_search_to(
|
15
|
+
Spree.user_class.order(created_at: :desc, id: :desc),
|
16
|
+
param: :q,
|
17
|
+
)
|
18
|
+
|
19
|
+
set_page_and_extract_portion_from(users)
|
20
|
+
|
21
|
+
respond_to do |format|
|
22
|
+
format.html { render component('users/index').new(page: @page) }
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def destroy
|
27
|
+
@users = Spree.user_class.where(id: params[:id])
|
28
|
+
|
29
|
+
Spree.user_class.transaction { @users.destroy_all }
|
30
|
+
|
31
|
+
flash[:notice] = t('.success')
|
32
|
+
redirect_back_or_to users_path, status: :see_other
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def load_user
|
38
|
+
@user = Spree.user_class.find_by!(number: params[:id])
|
39
|
+
authorize! action_name, @user
|
40
|
+
end
|
41
|
+
|
42
|
+
def user_params
|
43
|
+
params.require(:user).permit(:user_id, permitted_user_attributes)
|
44
|
+
end
|
45
|
+
|
46
|
+
def authorization_subject
|
47
|
+
Spree.user_class
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SolidusAdmin
|
4
|
+
class ZonesController < SolidusAdmin::BaseController
|
5
|
+
include SolidusAdmin::ControllerHelpers::Search
|
6
|
+
|
7
|
+
def index
|
8
|
+
zones = apply_search_to(
|
9
|
+
Spree::Zone.order(id: :desc),
|
10
|
+
param: :q
|
11
|
+
)
|
12
|
+
|
13
|
+
set_page_and_extract_portion_from(zones)
|
14
|
+
|
15
|
+
respond_to do |format|
|
16
|
+
format.html { render component('zones/index').new(page: @page) }
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def destroy
|
21
|
+
@zones = Spree::Zone.where(id: params[:id])
|
22
|
+
|
23
|
+
Spree::Zone.transaction { @zones.destroy_all }
|
24
|
+
|
25
|
+
flash[:notice] = t('.success')
|
26
|
+
redirect_back_or_to zones_path, status: :see_other
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def load_zone
|
32
|
+
@zone = Spree::Zone.find_by!(number: params[:id])
|
33
|
+
authorize! action_name, @zone
|
34
|
+
end
|
35
|
+
|
36
|
+
def zone_params
|
37
|
+
params.require(:zone).permit(:zone_id, permitted_zone_attributes)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
/* eslint no-console: ["error", { allow: ["warn", "error"] }] */
|
2
|
+
|
1
3
|
import "@hotwired/stimulus"
|
2
4
|
|
3
5
|
const registeredControllers = {}
|
@@ -32,4 +34,4 @@ function registerController(name, module, application) {
|
|
32
34
|
application.register(name, module.default)
|
33
35
|
registeredControllers[name] = true
|
34
36
|
}
|
35
|
-
}
|
37
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { Controller } from "@hotwired/stimulus"
|
2
|
+
|
3
|
+
export default class extends Controller {
|
4
|
+
static values = {"text": String}
|
5
|
+
|
6
|
+
connect() {
|
7
|
+
this.element.addEventListener("click", this)
|
8
|
+
this.element.addEventListener("submit", this)
|
9
|
+
}
|
10
|
+
|
11
|
+
disconnect() {
|
12
|
+
this.element.removeEventListener("click", this)
|
13
|
+
this.element.removeEventListener("submit", this)
|
14
|
+
}
|
15
|
+
|
16
|
+
handleEvent(event) {
|
17
|
+
if (!confirm(this.textValue)) {
|
18
|
+
event.preventDefault()
|
19
|
+
}
|
20
|
+
}
|
21
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { Controller } from "@hotwired/stimulus"
|
2
|
+
|
3
|
+
export default class extends Controller {
|
4
|
+
connect() {
|
5
|
+
this.element.addEventListener("submit", this)
|
6
|
+
}
|
7
|
+
|
8
|
+
disconnect() {
|
9
|
+
this.element.removeEventListener("submit", this)
|
10
|
+
}
|
11
|
+
|
12
|
+
handleEvent() {
|
13
|
+
for (const element of this.element.elements) {
|
14
|
+
element.setAttribute("readonly", true)
|
15
|
+
}
|
16
|
+
}
|
17
|
+
}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { Controller } from "@hotwired/stimulus"
|
2
|
+
import Sortable from "sortablejs"
|
3
|
+
import { patch } from '@rails/request.js'
|
4
|
+
|
5
|
+
export default class extends Controller {
|
6
|
+
static values = {
|
7
|
+
param: { type: String, default: 'postion' },
|
8
|
+
handle: { type: String, default: null },
|
9
|
+
animation: { type: Number, default: 150 },
|
10
|
+
}
|
11
|
+
|
12
|
+
connect() {
|
13
|
+
this.sortable = Sortable.create(this.element, {
|
14
|
+
onEnd: this.onEnd.bind(this),
|
15
|
+
animation: this.animationValue,
|
16
|
+
handle: this.handleValue,
|
17
|
+
})
|
18
|
+
}
|
19
|
+
|
20
|
+
async onEnd({ item, newIndex }) {
|
21
|
+
if (!item.dataset.sortableUrl) return
|
22
|
+
|
23
|
+
const data = new FormData()
|
24
|
+
data.append(this.paramValue, newIndex + 1)
|
25
|
+
|
26
|
+
return await patch(item.dataset.sortableUrl, { body: data, responseKind: "js" })
|
27
|
+
}
|
28
|
+
|
29
|
+
disconnect() {
|
30
|
+
this.sortable.destroy()
|
31
|
+
this.sortable = null
|
32
|
+
}
|
33
|
+
}
|
@@ -2,23 +2,23 @@
|
|
2
2
|
<html lang="<%= current_locale %>">
|
3
3
|
<head>
|
4
4
|
<%= favicon_link_tag 'solidus_admin/favicon.ico' %>
|
5
|
+
|
5
6
|
<title><%= solidus_admin_title %></title>
|
6
|
-
|
7
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
8
|
+
<%= csrf_meta_tags %>
|
9
|
+
<%= csp_meta_tag %>
|
10
|
+
|
11
|
+
<%= stylesheet_link_tag SolidusAdmin::Config.theme_path(session[:admin_light_theme]), media: '(prefers-color-scheme: light)', "data-turbo-track": "reload" %>
|
12
|
+
<%= stylesheet_link_tag SolidusAdmin::Config.theme_path(session[:admin_dark_theme]), media: '(prefers-color-scheme: dark)', "data-turbo-track": "reload" %>
|
7
13
|
<%= javascript_importmap_tags "solidus_admin/application", shim: false, importmap: SolidusAdmin.importmap %>
|
8
14
|
</head>
|
9
15
|
|
10
|
-
<body class="bg-gray-15">
|
11
|
-
<%= render component("skip_link").new(href: "#main") %>
|
12
|
-
<div class="fixed right-3 bottom-3 flex flex-col gap-3" role="alert">
|
13
|
-
<% flash.each do |key, message| %>
|
14
|
-
<%= render component("ui/toast").new(text: message, scheme: key == :error ? :error : :default) %>
|
15
|
-
<% end %>
|
16
|
-
</div>
|
17
|
-
|
16
|
+
<body class="bg-gray-15 font-sans">
|
17
|
+
<%= render component("layout/skip_link").new(href: "#main") %>
|
18
18
|
<div class="flex gap-0">
|
19
19
|
<div class="min-w-[240px] border-r border-r-gray-100 relative">
|
20
20
|
<div class="min-h-screen top-0 sticky flex">
|
21
|
-
<%= render component("
|
21
|
+
<%= render component("layout/navigation").new(store: current_store) %>
|
22
22
|
</div>
|
23
23
|
</div>
|
24
24
|
|
@@ -26,5 +26,11 @@
|
|
26
26
|
<%= yield %>
|
27
27
|
</main>
|
28
28
|
</div>
|
29
|
+
|
30
|
+
<div class="fixed inset-x-0 bottom-3 flex items-center justify-center flex-col gap-3 pointer-events-none" role="alert">
|
31
|
+
<% flash.each do |key, message| %>
|
32
|
+
<%= render component("ui/toast").new(text: message, scheme: key == :error ? :error : :default) %>
|
33
|
+
<% end %>
|
34
|
+
</div>
|
29
35
|
</body>
|
30
36
|
</html>
|
@@ -1,7 +1,8 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
2
|
<html>
|
3
3
|
<head>
|
4
|
-
<%= stylesheet_link_tag
|
4
|
+
<%= stylesheet_link_tag SolidusAdmin::Config.theme_path(session[:admin_light_theme]), media: '(prefers-color-scheme: light)', "data-turbo-track": "reload" %>
|
5
|
+
<%= stylesheet_link_tag SolidusAdmin::Config.theme_path(session[:admin_dark_theme]), media: '(prefers-color-scheme: dark)', "data-turbo-track": "reload" %>
|
5
6
|
<%= javascript_importmap_tags "solidus_admin/application", shim: false, importmap: SolidusAdmin.importmap %>
|
6
7
|
</head>
|
7
8
|
<body class="p-3">
|
data/config/importmap.rb
CHANGED
@@ -6,6 +6,8 @@ pin "@hotwired/stimulus-loading", to: "stimulus-loading.js"
|
|
6
6
|
pin "@hotwired/turbo-rails", to: "turbo.js"
|
7
7
|
|
8
8
|
pin "stimulus-use", to: "https://ga.jspm.io/npm:stimulus-use@0.52.0/dist/index.js"
|
9
|
+
pin "sortablejs", to: "https://cdn.jsdelivr.net/npm/sortablejs@1.15.0/+esm"
|
10
|
+
pin "@rails/request.js", to: "https://cdn.jsdelivr.net/npm/@rails/request.js@0.0.9/+esm"
|
9
11
|
|
10
12
|
pin "solidus_admin/application", preload: true
|
11
13
|
pin "solidus_admin/utils"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
Rails.application.config.view_component.capture_compatibility_patch_enabled = true
|
4
|
+
|
5
|
+
if Rails.env.development? || Rails.env.test?
|
6
|
+
Rails.application.config.view_component.instrumentation_enabled = true
|
7
|
+
Rails.application.config.view_component.use_deprecated_instrumentation_name = false
|
8
|
+
|
9
|
+
bold = "\e[1m"
|
10
|
+
clear = "\e[0m"
|
11
|
+
|
12
|
+
ActiveSupport::Notifications.subscribe("render.view_component") do |*args|
|
13
|
+
next unless args.last[:name]&.starts_with?("SolidusAdmin::")
|
14
|
+
|
15
|
+
event = ActiveSupport::Notifications::Event.new(*args)
|
16
|
+
SolidusAdmin::BaseComponent.logger.debug \
|
17
|
+
" Rendered #{bold}#{event.payload[:name]}#{clear}" \
|
18
|
+
" (Duration: #{event.duration.round(1)}ms)"
|
19
|
+
end
|
20
|
+
end
|
@@ -1,13 +1,19 @@
|
|
1
1
|
en:
|
2
2
|
solidus_admin:
|
3
|
-
|
3
|
+
menu_item:
|
4
4
|
orders: Orders
|
5
5
|
products: Products
|
6
6
|
option_types: Option Types
|
7
|
-
property_types:
|
7
|
+
property_types: Properties
|
8
8
|
taxonomies: Taxonomies
|
9
9
|
taxons: Display Order
|
10
10
|
promotions: Promotions
|
11
|
+
promotion_categories: Promotion Categories
|
11
12
|
stock: Stock
|
12
13
|
users: Users
|
13
14
|
settings: Settings
|
15
|
+
stores: Stores
|
16
|
+
taxes: Taxes
|
17
|
+
checkout: Refunds and Returns
|
18
|
+
shipping: Shipping
|
19
|
+
zones: Zones
|
@@ -2,3 +2,12 @@ en:
|
|
2
2
|
solidus_admin:
|
3
3
|
orders:
|
4
4
|
title: "Orders"
|
5
|
+
update:
|
6
|
+
success: "Order was updated successfully"
|
7
|
+
error: "Order could not be updated"
|
8
|
+
addresses:
|
9
|
+
title: "Addresses"
|
10
|
+
update:
|
11
|
+
success: "The address has been successfully updated."
|
12
|
+
errors:
|
13
|
+
address_type_invalid: "Invalid address type. Please select either billing or shipping address."
|
data/config/routes.rb
CHANGED
@@ -1,13 +1,60 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
SolidusAdmin::Engine.routes.draw do
|
4
|
+
require "solidus_admin/admin_resources"
|
5
|
+
extend SolidusAdmin::AdminResources
|
6
|
+
|
4
7
|
resource :account, only: :show
|
5
|
-
resources :
|
8
|
+
resources :countries, only: [] do
|
9
|
+
get 'states', to: 'countries#states'
|
10
|
+
end
|
11
|
+
|
12
|
+
admin_resources :products, only: [:index, :update, :destroy] do
|
6
13
|
collection do
|
7
|
-
delete :destroy
|
8
14
|
put :discontinue
|
9
15
|
put :activate
|
10
16
|
end
|
11
17
|
end
|
12
|
-
|
18
|
+
|
19
|
+
# Needs a constraint to avoid interpreting "new" as a product's slug
|
20
|
+
admin_resources :products, only: [
|
21
|
+
:show, :edit
|
22
|
+
], constraints: ->{ SolidusAdmin::Config.enable_alpha_features? && _1.path != "/admin/products/new" }
|
23
|
+
|
24
|
+
admin_resources :orders, only: [:index]
|
25
|
+
|
26
|
+
admin_resources :orders, except: [
|
27
|
+
:destroy, :index
|
28
|
+
], constraints: ->{ SolidusAdmin::Config.enable_alpha_features? } do
|
29
|
+
resources :line_items, only: [:destroy, :create, :update]
|
30
|
+
resource :customer
|
31
|
+
resource :ship_address, only: [:show, :edit, :update], controller: "addresses", type: "ship"
|
32
|
+
resource :bill_address, only: [:show, :edit, :update], controller: "addresses", type: "bill"
|
33
|
+
|
34
|
+
member do
|
35
|
+
get :variants_for
|
36
|
+
get :customers_for
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
admin_resources :users, only: [:index, :destroy]
|
41
|
+
admin_resources :promotions, only: [:index, :destroy]
|
42
|
+
admin_resources :properties, only: [:index, :destroy]
|
43
|
+
admin_resources :option_types, only: [:index, :destroy], sortable: true
|
44
|
+
admin_resources :taxonomies, only: [:index, :destroy], sortable: true
|
45
|
+
admin_resources :promotion_categories, only: [:index, :destroy]
|
46
|
+
admin_resources :tax_categories, only: [:index, :destroy]
|
47
|
+
admin_resources :tax_rates, only: [:index, :destroy]
|
48
|
+
admin_resources :payment_methods, only: [:index, :destroy], sortable: true
|
49
|
+
admin_resources :stock_items, only: [:index, :edit, :update]
|
50
|
+
admin_resources :shipping_methods, only: [:index, :destroy]
|
51
|
+
admin_resources :shipping_categories, only: [:index, :destroy]
|
52
|
+
admin_resources :stock_locations, only: [:index, :destroy]
|
53
|
+
admin_resources :stores, only: [:index, :destroy]
|
54
|
+
admin_resources :zones, only: [:index, :destroy]
|
55
|
+
admin_resources :refund_reasons, only: [:index, :destroy]
|
56
|
+
admin_resources :reimbursement_types, only: [:index]
|
57
|
+
admin_resources :return_reasons, only: [:index, :destroy]
|
58
|
+
admin_resources :adjustment_reasons, only: [:index, :destroy]
|
59
|
+
admin_resources :store_credit_reasons, only: [:index, :destroy]
|
13
60
|
end
|