* Add Translations route and guard it with feature flag. Empty TranslationsList main component to test route.
* Translation list component
* Add translations namespace to js-sdk
* Translations hook
* Avoid incorrectly throwing when updating and locale not included
* Translations bulk editor component v1
* Add batch method to translations namespace in js-sdk
* Protect translations edit route with feature flag
* Handle reference_id search param
* Replace entity_type entity_id for reference reference_id
* Manage translations from product detail page
* Dynamically resolve base hook for retrieving translations
* Fix navigation from outside settings/translations
* Navigation to bulk editor from product list
* Add Translations to various product module types
* Type useVariants hook
* Handle product module entities translations in bulk editor
* Fix categories issue in datagrid due to column clash
* Translations bulk navigation from remaining entities detail pages
* Add remaining bulk editor navigation for list components. Fix invalidation query for variants
* Expandable text cell v1
* Popover approach
* Add *supported_locales.locale to default fields in stores list endpoint
* Make popover more aligned to excell approach
* Correctly tie the focused cell anchor to popover
* Rework translations main component UI
* Fix link def export
* Swap axis for translations datagrid
* Add original column to translations data grid
* Remove is_default store locale from backend
* Remove ldefault locale from ui
* Type
* Add changeset
* Comments
* Remove unused import
* Add translations to admin product categories endpoint allowed fields
* Default locale removal
* Lazy loading with infinite scroll data grid
* Infinite list hook and implementation for products and variants
* Translation bulk editor lazy loaded datagrid
* Prevent scroll when forcing focus, to avoid scrollTop reset on infinite loading
* Confgiure placeholder data
* Cleanup logs and refactor
* Infinite query hooks for translatable entities
* Batch requests for translation batch endpoint
* Clean up
* Update icon
* Add query param validator in settings endpoint
* Settings endpoint param type
* JS sdk methods for translation settings and statistics
* Retrieve translatable fields and entities dynamically. Remove hardcoded information from tranlations list
* Resolve translation aggregate completion dynamically
* Format label
* Resolve bulk editor header label dynamically
* Include type and collection in translations config
* Avoid showing product option and option values in translatable entities list
* Translations
* Make translations bulk editor content columns wider
* Disable hiding Original column in translations bulk editor
* Adjust translations completion styles
* Fix translations config screen
* Locale selector switcher with conditional locale column rendering
* Batch one locale at a time
* Hooks save actions to footer buttons
* Reset dirty state on save
* Dynamic row heights for translations bulk editor. Replace expandable cell for text cell, with additional isMultiLine config
* Make columns take as much responsive width as possible and divide equally
* more padding to avoid unnecessary horizontal scrollbar
* Update statistics graphs
* Translations
* Statistics graphs translations
* Translation, text sizes and weight in stat graphs
* Conditionally show/hide column visibility dropdown in datagrid
* Allow to pass component to place in DataGrid header and use it in translations bulk editor
* Center text regardless of multiLine config
* Apply full height to datagrid cell regardles of multiSelect config
* Colors and fonts
* Handle key down for text area in text cell
* MultilineCell with special keydown handling
* Rework form schema to match new single locale edit flow
* Update created translations to include id, to avoid duplication issue on subsequent calls
* Handle space key for text cells
* Finish hooking up multiline cell with key and mouse events
* Disable remaining buttons when batch is ongoing
* Style updates
* Update style
* Refactor to make form updates and sync/comparison with server data more comprehensive and robust
* Update styles
* Bars and labels alignment
* Add languages tooltip
* Styles and translation
* Navigation update
* Disable edit translations button when no reference count
* Invert colors
---------
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com>
* feat(): Translation first steps
* feat(): locale middleware
* feat(): readonly links
* feat(): feature flag
* feat(): modules sdk
* feat(): translation module re export
* start adding workflows
* update typings
* update typings
* test(): Add integration tests
* test(): centralize filters preparation
* test(): centralize filters preparation
* remove unnecessary importy
* fix workflows
* Define StoreLocale inside Store Module
* Link definition to extend Store with supported_locales
* store_locale migration
* Add supported_locales handling in Store Module
* Tests
* Accept supported_locales in Store endpoints
* Add locales to js-sdk
* Include locale list and default locale in Store Detail section
* Initialize local namespace in js-sdk
* Add locales route
* Make code primary key of locale table to facilitate upserts
* Add locales routes
* Show locale code as is
* Add list translations api route
* Batch endpoint
* Types
* New batchTranslationsWorkflow and various updates to existent ones
* Edit default locale UI
* WIP
* Apply translation agnostically
* middleware
* Apply translation agnostically
* fix Apply translation agnostically
* apply translations to product list
* Add feature flag
* fetch translations by batches of 250 max
* fix apply
* improve and test util
* apply to product list
* dont manage translations if no locale
* normalize locale
* potential todo
* Protect translations routes with feature flag
* Extract normalize locale util to core/utils
* Normalize locale on write
* Normalize locale for read
* Use feature flag to guard translations UI across the board
* Avoid throwing incorrectly when locale_code not present in partial updates
* move applyTranslations util
* remove old tests
* fix util tests
* fix(): product end points
* cleanup
* update lock
* remove unused var
* cleanup
* fix apply locale
* missing new dep for test utils
* Change entity_type, entity_id to reference, reference_id
* Remove comment
* Avoid registering translations route if ff not enabled
* Prevent registering express handler for disabled route via defineFileConfig
* Add tests
* Add changeset
* Update test
* fix integration tests, module and internals
* Add locale id plus fixed
* Allow to pass array of reference_id
* fix unit tests
* fix link loading
* fix store route
* fix sales channel test
* fix tests
---------
Co-authored-by: Nicolas Gorga <nicogorga11@gmail.com>
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
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.
* 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>
**What**
- Renames /admin-next -> /admin
- Renames @medusajs/admin-sdk -> @medusajs/admin-bundler
- Creates a new package called @medusajs/admin-sdk that will hold all tooling relevant to creating admin extensions. This is currently `defineRouteConfig` and `defineWidgetConfig`, but will eventually also export methods for adding custom fields, register translation, etc.
- cc: @shahednasser we should update the examples in the docs so these functions are imported from `@medusajs/admin-sdk`. People will also need to install the package in their project, as it's no longer a transient dependency.
- cc: @olivermrbl we might want to publish a changelog when this is merged, as it is a breaking change, and will require people to import the `defineXConfig` from the new package instead of `@medusajs/admin-shared`.
- Updates CODEOWNERS so /admin packages does not require a review from the UI team.