Commit Graph

67 Commits

Author SHA1 Message Date
Sebastian Rindom
41047b3854 feat(dashboard): configurable product views (#13408)
* feat: add a reusable configurable data table

* fix: cleanup

* fix: cleanup

* fix: cache invalidation

* fix: test

* fix: add configurable products

* feat: add configurable product table

* fix: build errors+table style

* fix: sticky header column

* add translations

* fix: cleanup counterenderer

* fix: formatting

* fix: client still skips nulls

* fix: test

* fix: cleanup

* fix: revert client bracket format

* fix: better typing

* fix: add placeholder data to product list
2025-09-18 18:27:17 +02:00
Sebastian Rindom
23d5a902b1 feat(dashboard): reusable config datatable (#13389)
* feat: add a reusable configurable data table

* fix: cleanup

* fix: cleanup

* fix: cache invalidation

* fix: test

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-09-15 10:59:00 +02:00
Sebastian Rindom
c717535ca2 feat(admin): add configurable order views (#13211)
Adds support for configurable order views.

https://github.com/user-attachments/assets/ed4a5f61-1667-4ed7-9478-423894f3eba6
2025-09-01 17:04:18 +00:00
Sebastian Rindom
5a46372afd Feat/datatable core enhancements (#13193)
**What**

This PR adds core DataTable enhancements to support view configurations in the admin dashboard. This is part of a set of stacked PRs to add the feature to Medusa.

- Puts handlers in place to update the visible columns in a table and the order in which they appear.
- Adds a ViewPills component for displaying and switching between saved view configurations
- Integrated view configuration hooks (useViewConfigurations) with the DataTable

Note: Column drag-and-drop reordering and the column visibility UI controls are not included in this PR as they require additional UI library updates - which will come in the next PR.

Example of what this looks like with the feature flag turned on - note the view pills with "default" in the top. This will expand when the data table behavior adds configuration.
<img width="2492" height="758" alt="CleanShot 2025-08-13 at 2  31 35@2x" src="https://github.com/user-attachments/assets/ee770f1c-dae1-49da-b255-1a6d615789de" />
2025-09-01 10:30:05 +00:00
Sebastian Rindom
fa10c78ed3 feat(admin): add view configuration client infrastructure (#13186)
This is part of stacked PRs to add a view configuration feature which will allow users to customize the columns seen in tables in the Medusa Admin dashboard.

**What**
- Adds client providers, sdk methods and hooks for interacting with the views api.
2025-09-01 09:20:37 +00:00
William Bouchard
486621383a feat(dashboard,core,modules): free shipping promotion in dashboard (#13263)
* feat(dashboard,core,modules): free shipping promotion in dashboard

* self-review

* adapt for edit to work

* changeset

* integration tests

* across for each

* remove only from tests

* remove console log

* revert to across

* update wording for shipping promotions

* modify changeset

* suggestion frane

* fix i18n schema
2025-08-22 16:30:30 -04:00
Frane Polić
492e018957 feat(dashboard, core-flows, js-sdk, types, medusa): listing order's shipping options (#13242)
* feat(dashboard, core-flows,js-sdk,types,medusa): listing order's shipping option

* fix: typo

* chore: migrate claim form

* fix: cleanup rule logic

* feat: add test case, rm params

* fix: expand location name
2025-08-21 13:01:27 +02:00
Frane Polić
9b38b750de feat(dashboard): shipping option tax rate overrides UI (#13260)
* feat(dashboard): shipping option tax rate overrides UI

* feat: add location filter

* feat: show service zone in SO table

* feat: display location in the SO table
2025-08-21 12:06:36 +02:00
Frane Polić
6d8e4acdc7 chore(dashboard): migrate location levels table (#12624)
* chore: migrate location levels table

* fix: page size

* fix: disable sorting by available quantity

* wip: migrate fulfillment location combobox

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-08-18 14:50:52 +02:00
Sebastian Rindom
ab795bb0a2 feat: view config feature flag (#13171)
* feat: add view_configurations feature flag

  - Add feature flag provider and hooks to admin dashboard
  - Add backend API endpoint for feature flags
  - Create view_configurations feature flag (disabled by default)
  - Update order list table to use legacy version when flag is disabled
  - Can be enabled with MEDUSA_FF_VIEW_CONFIGURATIONS=true env var

* fix: naming

* fix: feature flags unauthenticated

* fix: add test
2025-08-15 08:56:40 +02:00
William Bouchard
4b3c43fe92 feat(dashboard, js-sdk): shipping option type mngmt dashboard (#13208)
* chore(types, api): support shipping option type api endpoints

* core flows

* api

* typos

* compiler errors

* integration tests

* remove metadata

* changeset

* modify test

* upsert

* change remote query

* minor to patch

* description optional

* chore(dashboard, js-sdk): shipping option type management on admin dashboard

* description optional

* woops my bad

* my bad again

* create and edit

* prettier

* build code from label

* remove metadata route

* remove some translation text that is not used

* remove unsued files

* changeset

* adapt test

* fix test

* suggestion

---------

Co-authored-by: william bouchard <williambouchard@williams-MacBook-Pro.local>
2025-08-14 15:21:33 -04:00
Riqwan Thamir
44d1d18689 feat(dashboard,types): add credit lines + loyalty changes (#11885)
* feat(dashboard,types): add credit lines + loyalty changes

* chore: fix types

* chore: fix specs

* chore: use correct plugin name

* chore: use new currency input

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-06-12 20:12:03 +02:00
Harminder Virk
f2cb528a56 feat: wire up direct uploads with local file provider (#12643) 2025-06-10 15:07:54 +05:30
Frane Polić
341a8bb7ee fix(dashboard): combobox initial item cache (#12522) 2025-05-28 09:32:01 +02:00
Frane Polić
39e5eadefc fix(core-flows, dashboard): reservation recreation on fulfilment cancel + allocation button display (#12447)
**What**
- fix recreation of reservations on fulfilment cancel
- fix allocate items button display

---

CLOSES CMRC-1018
2025-05-12 17:09:23 +00:00
Frane Polić
6aa1ebdee2 fix(dashboard): inventory kit combobox state (#12371)
* fix(dashboard): inventory kit combobox state

* chore: changeset
2025-05-11 18:45:08 +02:00
Frane Polić
9cedeb182d feat(dashboard, js-sdk, medusa, tax, types): custom tax providers (#12297)
* wip: setup loaders, add endpoints, module work, types, js sdk

* fix: tax module provider loader

* feat: select provider on region create, fix enpoint middleware registration

* feat: edit form

* fix: rename param

* chore: changeset

* fix: don't default to system provider

* fix: admin fixes, dispalt tax provider

* fix: some tests and types

* fix: remove provider from province regions in test

* fix: more tests, optional provider for sublevel regions, fix few types

* fix: OE test

* feat: edit tax region admin, update tax region core flow changes

* feat: migrate script

* fix: refactor

* chore: use query graph

* feat: provider section
2025-05-06 19:26:33 +02:00
Kasper Fabricius Kristensen
3dba58785f fix(dashboard,medusa,types): allow searching for promotion rule options (#12028)
* fix: allow searching for promotion rule options

* fix: allow searching for promotion rule options

* add changeset

* cleanup
2025-03-28 14:45:05 +01:00
Riqwan Thamir
5ab15a2988 feat(dashboard,js-sdk,admin-shared): add customer addresses + layout change (#11871)
what:

- changes customer layout from 1 layout to 2
- adds ability to create and delete customer addresses
- adds 2 customer widget locations
- adds is_giftcard=false by default to products list

<img width="1663" alt="Screenshot 2025-03-08 at 21 34 02" src="https://github.com/user-attachments/assets/e66f05da-718c-4c25-81ce-67ba0a814ca3" />
2025-03-17 16:16:27 +00:00
Kasper Fabricius Kristensen
3063d6e601 fix(dashboard): Include thumbnail in default product query (#11825)
RESOLVES CMRC-984
2025-03-13 16:26:39 +00:00
Riqwan Thamir
954136f13a fix(dashboard): bust variant inventory cache on inventory update (#11690) 2025-03-03 12:53:34 +01:00
Frane Polić
4b7c6d7dd9 fix(dashboard): few admin bug fixes (#11655)
**What**
- OE id bug
- prevent canceling shipped/delivered fulfillment

---

CLOSES CMRC-935
CLOSES CMRC-938
2025-02-28 09:13:47 +00:00
Oli Juhl
54a6ef91ac chore: Move token from params to headers (#11281)
* chore: Move token from params to body

* chore: Add type

* wip

* chore: clean up

* clean ip
2025-02-26 17:41:16 +01:00
Adrien de Peretti
0307304dc6 fix(dashboard): Prevent overfetching data (#11532)
**What**
Currently, the dashboard is fetching way more data than needed to display the products. This can lead to issues for complex catalog. this pr aim to reduce the data to be fetched to exactly what is needed.
<img width="2553" alt="Screenshot 2025-02-19 at 15 08 16" src="https://github.com/user-attachments/assets/b00e856c-e040-4f05-9f15-41fb8d299387" />
2025-02-19 14:26:22 +00:00
Kasper Fabricius Kristensen
fcd3e2226e feat(ui,dashboard): Migrate SC tables to DataTable (#11106) 2025-02-07 14:26:49 +00:00
Kasper Fabricius Kristensen
51d2960a57 fix(dashboard): Allow admins to update default Sales Channel and Stock Location (#11196)
**Note** The huge diff is because the i18n schema wasn't formatted properly again. Not sure how that happened with the update to the script but perhaps someone didn't update their branch to include the change to format the schema on creation.
2025-01-29 16:14:47 +00:00
Kasper Fabricius Kristensen
6346836c2d feat(dashboard): Refactor Users table to use the new DataTable block (#11058)
**What**
- Updates the Users table to use the new DataTable
- Fixes an issue where initial parsing of URL filters weren't formatted correctly.
2025-01-22 13:19:23 +00:00
Kasper Fabricius Kristensen
d4e042e9ad fix(dashboard,js-sdk,types): Remove redundant body for markAsDelivered (#10964)
Resolves CMRC-623
2025-01-20 17:17:48 +00:00
Kasper Fabricius Kristensen
147c0e5a35 feat(ui,dashboard): Add DataTable block (#10024)
**What**
- Adds opinionated DataTable block to `@medusajs/ui` 
- Adds new DataTable to `@medusajs/dashboard` that uses the above mentioned block as the primitive.

The PR also replaces the table on /customer-groups and the variants table on /products/:id with the new DataTable, to provide an example of it's usage. The previous DataTable component has been renamed to `_DataTable` and has been deprecated.

**Note**
This PR has a lot of LOC. 5,346 of these changes are the fr.json file, which wasn't formatted correctly before. When adding the new translations needed for this PR the file was formatted which caused each line to change to have the proper indentation.

Resolves CMRC-333
2025-01-20 13:26:12 +00:00
Riqwan Thamir
5eab9e7399 feat(promotion,dashboard,types,utils,medusa): Add statuses to promotions (#10950)
what:

- adds a status column to promotion table
- introduce active promotion query
- scope revert, register and compute actions to active promotions
- admin to create and update promotion with statuses

RESOLVES CMRC-845
RESOLVES CMRC-846
RESOLVES CMRC-847
RESOLVES CMRC-848
RESOLVES CMRC-849
RESOLVES CMRC-850
2025-01-16 19:17:22 +00:00
Kasper Fabricius Kristensen
bc22b81cdf feat(inventory,dashboard,types,core-flows,js-sdk,medusa): Improve inventory UX (#10630)
* feat(dashboard): Add UI for bulk editing inventory stock (#10556)

* progress

* cleanup types

* add changeset

* fix 0 values

* format schema

* add delete event and allow copy/pasting enabled for some fields

* add response types

* add tests

* work on fixing setValue behaviour

* cleanup toggle logic

* add loading state

* format schema

* add support for bidirectional actions in DataGrid and update Checkbox and RadioGroup

* update lock

* lint

* fix 404

* address feedback

* update cursor on bidirectional select
2025-01-12 19:07:14 -05:00
Frane Polić
bde4b82194 feat(core-flows,dashboard,js-sdk,medusa,types): support Fulfillment Options (#10622)
**What**
- add a list point for fetching fulfillment options for a provider
- add FO support on SO create & update on dashboard
- pass `cart` and `stockLocation` to `validateFufillmentData` context

---

CLOSES CMRC-789
CLOSES CMRC-790
2024-12-18 09:16:26 +00:00
Kasper Fabricius Kristensen
dc5e73af4d fix(dashboard): Prevent fulfillment provider modal from re-rendering before form submission is complete (#10547)
Resolves CMRC-782
2024-12-11 13:10:58 +00:00
Kasper Fabricius Kristensen
864f53011b fix(dashboard,types): Fix TS errors (#10457)
**What**
- Fixes TS erros in dashboard project
- Updates incorrect HTTP Invite types
- Fixes incorrectly formatted dates in dashboard
2024-12-08 11:51:13 +00:00
Kasper Fabricius Kristensen
c6f955f0b5 fix(dashboard): Add Shipping Profile metadata route (#10430) 2024-12-04 17:09:44 +01:00
Frane Polić
340769595a feat(admin, js-sdk, types): update order forms (#10418)
* feat: edit shipping, billing and email forms

* feat: timeline history, update change model, update tests

* fix: address comments

* fix: invalidation, translation schema, update label

* fix: old/new
2024-12-04 14:56:40 +01:00
Kasper Fabricius Kristensen
e8f4f7ea2b fix(dashboard): Add default value to inventory item combobox (#10412)
**What**
- Resolves CMRC-761
- Fixes TS errors in the same file.

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2024-12-03 18:03:54 +00:00
Frane Polić
1bf60c7a7d feat(dashboard, js-sdk): customer page transfer order + cancel request in timeline (#10250)
**What**
- request order transfer from admin customers details page
- cancel transfer request from order timeline

---

CLOSES CMRC-730
2024-11-26 11:42:47 +00:00
Oli Juhl
1efe4e9e33 fix: Update js-sdk with token (#10211) 2024-11-22 09:32:48 +01:00
Frane Polić
44265a928d feat(dashboard): transfer order admin (#10189)
**What**
- request order transfer from order details page
- timeline events

---

CLOSES CMRC-706
CLOSES CMRC-707
2024-11-22 08:29:12 +00:00
Kasper Fabricius Kristensen
493d242c12 fix(dashboard): Add Breadcrumb components (#10079)
**What**
- Adds Breadcrumb component to all routes that needs breadcrumbs.
- The Breadcrumb components use a combination of loader data and useQuery to ensure that the displayed value is kept up to date if the underlying data is changed via a mutation.
- Also fixes a couple of places where the breadcrumb was not setup correctly.

Resolves CMRC-688
2024-11-15 13:13:03 +00:00
Kasper Fabricius Kristensen
904f0926f1 fix(dashboard): Load product variant edit page and fix product detail query key (#10029)
**What**
- Fixes Edit Variant form so it properly loads the product variant
- Fixes the query key for product details to prevent the cache from being shared between queries for the same ID but with different params.

Resolves CMRC-685

Co-authored-by: Frane Polić <16856471+fPolic@users.noreply.github.com>
2024-11-12 08:40:08 +00:00
Frane Polić
1889180319 fix(core-flows, dashboard): adjust stock levels when doing partial fulfilments (#9736)
* fix: correctly update stock location when partial fulfillemnt is created

* fix: update test

* fix: count reserved quantity of the item as available quantity for fulfillment

* fix: refresh reservations when order fulfillment is created

* feat: add check for reservation quantity

* feat: add a test case
2024-11-04 09:04:58 +01:00
Frane Polić
259d050e53 feat: customer bulk endpoint form managing customer groups (#9761)
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2024-10-25 11:55:57 +02:00
Frane Polić
853dd38044 fix(core-flows, dashboard): products category batch issue (#9766)
FIXES CC-624
2024-10-25 08:52:05 +00:00
Kasper Fabricius Kristensen
9f53683508 feat(dashboard,types): Translate all OrderBy filters (#9691)
Resolves CC-616

**Note**
- I have added some missing fields to a couple of types, to resolve TS errors in the dashboard.
- For the ApiKey types I have left the created_at, updated_at, etc. as type Date, as changing them to string, caused @medusajs/medusa to fail building. We need to clean up the types at a later time.
2024-10-21 18:09:55 +00:00
Shahed Nasser
a0668adefa fix(dashboard,js-sdk): remove methods / hooks to non existing exchange routes (#9697)
Remove the following exchange methods (and hooks from dashboard) which point to routes that don't exist:

- `delete`
- `addItems`
- `updateItem`
- `removeItem`
2024-10-21 14:00:30 +00:00
Frane Polić
05cea00146 fix: wrong qk (#9685) 2024-10-21 10:01:10 +02:00
Frane Polić
24a1b81fb2 fix(dashboard, js-sdk): undefined RMA activity items (#9649)
**What**
- fix for showing removed items in rma flows

---

DEPENDS ON https://github.com/medusajs/medusa/pull/9646
FIXES CC-597
2024-10-20 12:56:08 +00:00
Shahed Nasser
2ea766daf5 fix(dashboard,js-sdk): remove method and hook for deleting claim (#9668) 2024-10-18 19:43:53 +03:00