[Epic] Platform UI
Overview for the porting of classic UI to Platform UI. Follow up to #3901 #2789
### Workflows
- [x] Run unit tests as part of CI #5011
- [x] Code coverage integration with coveralls
- [x] Enforce code styling (including comments) for tsx code
- [x] Run code style checks as part of CI #5011
- [x] Release: Docker #5011
- [ ] #5277
- [ ] https://github.com/inventree/InvenTree/issues/5278
- [ ] https://github.com/inventree/InvenTree/issues/5282
### Backend
- [x] Add SPA helpers #5011
- [x] Remove custom redirects #5011
- [x] Simple login #5209 #5207
- [x] Save ui settings https://github.com/inventree/InvenTree/pull/5343
- [ ] https://github.com/inventree/InvenTree/issues/6389
- [ ] https://github.com/inventree/InvenTree/issues/3101
### Docs
- [ ] Frontend architecture
- [ ] Code structure
- [x] Getting started for frontend
- [ ] Component docs (maybe storybook)
### Frontend base
- [x] Navigation #5207
- [x] Mega menu #5207
- [ ] https://github.com/inventree/InvenTree/issues/5323
- [x] URL/navigation structure #5207
- [x] Base page layout
- [x] Detail page layout
- [ ] https://github.com/inventree/InvenTree/issues/5354
- [ ] #5218
- [x] Barcode Scanning #5207
- [x] Notifications
- [ ] https://github.com/inventree/InvenTree/issues/5345
- [ ] https://github.com/inventree/InvenTree/issues/6283
- [ ] https://github.com/inventree/InvenTree/issues/6282
- [x] Social Login #5753
- [x] Social Registration #5753
- [ ] #5296
- [ ] https://github.com/inventree/InvenTree/issues/5888
- [ ] #5755
- [ ] https://github.com/inventree/InvenTree/issues/6285
- [ ] https://github.com/inventree/InvenTree/issues/6813
- [x] [PUI] Switch to native Tree component - https://mantine.dev/core/tree/#example-files-tree
- [ ] https://github.com/inventree/InvenTree/issues/7920
### Frontend pages
- [ ] https://github.com/inventree/InvenTree/issues/5324
- [x] User settings management #5016
- [x] Global settings management #5016
- [x] Part
- [x] Part Category
- [x] Stock Item
- [x] Stock Location
- [x] Company
- [x] Supplier Part
- [x] Manufacturer Part
- [x] Build Order
- [x] Purchase Order
- [x] Sales Order
- [x] User Managment #5016
- [ ] All "part" functions - https://github.com/inventree/InvenTree/issues/6022
- [ ] All "stock" functions
- [ ] All "build order" functions
- [ ] All "sales order" functions
- [ ] All "return order" functions
- [ ] All "purchase order" functions
- [ ] https://github.com/inventree/InvenTree/issues/7026
### Plugins
- [ ] APIs for rendering plugins in UI - https://github.com/inventree/InvenTree/pull/7470
- [x] Plugin settings screen #5016
- [ ] New / Refactor "Panel Mixin" support - https://github.com/inventree/InvenTree/pull/7470
- [ ] https://github.com/inventree/InvenTree/issues/5269
### Needs to be handled before next stable - follow-ups
- [ ] Follow up to https://github.com/inventree/InvenTree/pull/5325 - Add tables
- [x] Allow to hide the server selector and configure custom server via Django settings #5343 @wolflu05
- [ ] https://github.com/inventree/InvenTree/issues/6554
- [ ] https://github.com/inventree/InvenTree/issues/5452
- [ ] https://github.com/inventree/InvenTree/issues/7869
### In the future (tm) - follow-ups
- [ ] After deprecating the old ui move the new ui to `/`. @wolflu05
- [ ] https://github.com/inventree/InvenTree/issues/7347
Upvote & Fund
- We're using Polar.sh so you can upvote and help fund this issue.
- We receive the funding once the issue is completed & confirmed by you.
- Thank you in advance for helping prioritize & fund our backlog.
@SchrodingersGat I added the issues/PR that currently cover the tasks
# ... Addition to above
- [ ] Allow to hide the server selector and configure custom server via Django settings #5343
- [ ] Add links to the new ui in the old ui like `try this out in the new ui`
- [ ] After deprecating the old ui move the new ui to `/`.
- [ ] spotlight/command pallete, there is also a [mantine package](https://mantine.dev/others/spotlight/)
As part of https://github.com/inventree/InvenTree/pull/6543 / https://github.com/matmair/InvenTree/pull/174 I have tried to factor out and remove CUI to discover dependencies between REST API, CUI and tests. Overall we are pretty good decoupled, there are a few tests that need to be rewritten - which I have marked with TODOs. One pretty important thing is import/export functionality, which is very much PUI-dependent right now - what is your reading on that @SchrodingersGat?
@matmair my two major priorities after the pending 0.14.0 release are:
- Implement the pending code refactor PR
- Assess import / export project
Suggested additions for 1.0 or beyond:
- Add permissions view/edit to groups
- Add public "profile" pages for users/groups with basic info about the object
- Add hover cards for users/groups and link to profile wherever user/groups are shown/listed
- Make the dashboard more helpful:
- Add per-user customisable widget selection
- Add option to add all tables with saved queries
- Add "metrics" widget that shows just count for query
- Add "quick-action" widget
- Add "current time" widget
- Add link-to-item widget
- Add rich search to user and systemsettings, admin center
- Add per-page quick-jump to different panels on the page to spotlight
- Add all actions on page per-page to spotlight
Comments / thougths @inventree/triage @inventree/maintainer ?
The "Part" page is marked as complete, but it seems to be missing the ability to download a part image from a URL.
I don't see a tracker for that feature here :cry: .
On the PUI I miss the option to "Return to Stock" for a stock item assigned to a customer, while was working perfeclty on the CUI