* Fix reactivity of currentLayout in drawer detail * Start on cards layout * Use dense list items in v-select * Add cards + size option * Render cards + files based on options * Allow modules to set view defaults * Start on render-template component * Add get fields from template util * Use render template component in cards layout * Render as small icon * Accept options in display handler function * Fix type warnings in format title display * Remove empty styling in render template component * Account for null values in render template * Add loading state to cards layout * Remove type validation in skeleton loader * Only fetch rendered fields * Fix resolving of default values for cards module * Add selection state to cards * Add selection state to cards * Make render template reactive * Implement setup options * Add disabled support to v-select * Add fallback icon option + disable fit input when no source * Add sort header to cards layout * Remove console log * Add selection state to cards header * Fix z-indexing of header menu * Add pagination to cards layout * Fix types in field * Fix type checks in field-setup * Add role presentation to img * Remove code smell * Handle file library gracefully * Add native lazy loading to images in cards layout * Render SVGs inline in card
app-next
Status: pre-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.