* Start on files inteface * Return related m2m relation in store * Add useRelations to files * Fetch current items in files * Allow dot notation in table row * Render tableHeaders * Add file display * Register file display * Remove unused css * Rough in select modal * Start on saving selected items * Finish selecting existing item * Auto fix line width of file display * Rename var to be clearer * Rework to allow editing junctino row * Add support for junction fields in modal detail * Stage changes to existing items correctly * Show previously made edits in modal detail * Blammo bunch of changes, lets do m2m first * Stage newly created items * Stage newly created items * Add editing of newly added records * Stage new edits of existing items * Allow updating existing rows * Stage selection of newly selected items * Add fetching preview for related item * Allow for updating staged selected existing items * Fix nested m2o in m2m * Finish deep fetch of multi-related item * Finish deselecting of rows * Add a little note to future self
app-next
Status: alpha
We're aiming to have the app codebase converted to TypeScript and fully unit test covered. This repo serves as a way for us to work on the bigger more foundational parts of the app codebase, without interferance of the legacy parts.
New components introduced in this repo will land in the current codebase where applicable. Bugfixes will continue to happen on the current codebase, until this version is fully done and merged.
This version is in no way shape or form intended to be used in production environments.
Once this codebase is complete enough to be used as main front-end, it will be moved to a branch on the main directus/app repo at which point it will be released as an beta / RC until confirmed ready.
Goals
- Have everything in TypeScript
- Have full test coverage
- Have as much of the components in Storybook as possible
- Rely on global state the least amount possible
Contributing
If you want to help out in the new version, please open an issue to discuss what you would like to do before opening a pull request. This makes sure we don't do overlapping work or work on something that's not intended to be in the app.
Development
You need Node.js v10+ and Yarn.
After cloning the repo, run:
$ yarn # install all dependencies of the project
Scripts
yarn serve
Bundles the app in dev mode and watches for changes.
Combine this with the API_URL environment variable to point it to a running API instance to debug fully:
$ API_URL=https://local.api.com yarn serve
yarn storybook
Fires up an instance of Storybook and watches for changes. Very useful to develop individual components in isolation.
yarn test
Runs all Jest tests in the app. Add the --coverage flag to see a print of what test coverage you've achieved.
Please aim for 100% coverage for newly added code.