* Start on @directus/themes
* Implement theming in app
* Reduce initial ruleset
* Remove test changes from app
* Nothing to see here
* Use appearance in deciding default theme
* Setup typedoc integration
* Add a wip warning
* add delete by query information and examples
* add that changelogs should be past tense
* add examples of unit and blackbox tests
* add information on where upload/extension folder should go locally
* add new packages and remove redundant column
* fix spelling
* Create hot-pillows-tan.md
* Fix tip box and links
* Update docs/contributing/codebase-overview.md
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* Update docs/contributing/running-locally.md
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
---------
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* broken migration
* fixed migration
* created new endpoints for translation strings
* updated to use core endpoint
* bad attempts at making the endpoints sensible
* merge changes
* implemented translation strings service
* re-integrating app logic part 1
* re-integrating app logic part 2
* fixed bad lodash import
* re-integrating app logic part 3
* removed obsolete tests
* make the linter happy
* Create tender-trees-buy.md
* added option to search-input
* implementing search
* fixed resizing and sidebar
* Fix linting
* Remove unused translations update into project settings
* Fix missing translations
* Require read permissions for app access
* Fetch translation strings only when authenticated
* Fix project default language not used when user has default language
* Remove commented line
* Rename variable as content has been changed
* Make the current user check more specific
* Remove translation_string from Settings type
* Remove settings reference in docs
* Update changeset
* Rename migration file to ensure date order
* Rename collection, route, service, controller
* Rename migration
* Adjust collection in settings route
* Fix translations service
* Use new `shouldClearCache` util
* Drop translation_strings column in migration
Co-authored-by: ian <licitdev@gmail.com>
* Added basic api docs
* updated dictionary
* updated dictionary
* Update app/src/interfaces/_system/system-input-translated-string/input-translated-string.vue
Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
* Update app/src/modules/settings/routes/translation-strings/collection.vue
Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
* extracted getCurrentLanguage utility
* Use regular collections/items
* Use regular controller
* Fix item view
* Set correct system field config for translations
* Tweaks
* Use UUID
* Finish placeholders
* Use drawer-item
* Add create to the store
* Remove composables
* Add new placeholder
* Fix saving behavior
* Remove previous take
* Rename migration after merge of live preview
* Generate uuid when migrating
* Remove unused showFilter
* Fix linting
* Fix type warnings
* Not needed as settings no longer contain translation_strings
* Remove leftover blank line
* Update getCurrentLanguage with server default and use in hydrate
* Shift getCurrentLanguage to lang folder to be alongside setLanguage
* add elipsis to placeholder
* Remove slug from key, so you can use dots etc in the key
* updated translation value to be type text again
* Rehydrate fields for updated translation values
* Add tooltip
* updated documentation
* enforce key/language uniqueness in the TranslationService
* updated error message
* updated docs menu item to "custom translations"
* Dynamically fetch translation keys for input-translated-string interface
* use get current language in refresh
* Update docs/reference/system/translations.md
* Update docs/reference/system/translations.md
* Update .changeset/tender-trees-buy.md
* Fetch translation keys when new key is created
* Update api/src/services/translations.ts
* Remove translation_strings remnant
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* mark key, language and value as required
* correctly mark fields as required
* Catch duplicate key error when creating from input
* Translate translations :-)
* Update tender-trees-buy.md
---------
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Add split view to the private view
* add more functionality to split view
* change text
* add simple size settings
* finish basic live preview feature
* add reload functionality
* update pnpm-lock
* update to newer design
* remove console.log
* Fix height of main content
* update design
* finishing fixes
* run linter
* finishing cleanup
* rebuild lock file
* lint fix
* hide preview for collections without preview urls
* fix refresh and eslint error
* use v-text-overflow for preview url
* use bottom placement for consistency
because other buttons such as Open in New Window and Refresh shows their tooltip at the bottom.
* tiny code tweak with early return
* remove fun parts and change divider color
* fix preview for singletons
* slightly improve the refresh button feedback
* hide zoom in fullscreen/desktop view
it is disabled in fullcreen, but some users may think they can click it, so I've opted to hide it instead. Especially since switching from mobile to desktop mode always resets it to 100%.
* tiny early return tweak
* opt to fix v-select disabled state cursor
* reverse zoom scaling order
* prevent preview going out of bounds when zoomed
* fix dragging when pointer enters iframe
* reinstate previous code tweak
* regenerate lock file
* use lockfile from main
* Dear linter...
* chore: add live preview to sidebar
* docs: add frontmatter
* docs: add intro
* docs: before you start
* docs: live preview in directus
* docs: draft mode in nextjs
* docs: fetch with draft mode
* docs: preview content in directus
* docs: next steps
* docs: update
* docs: updates
* docs: add live preview to collections
* docs: add live preview to item
* docs: updates
* docs: update
* chore: updates to the nextjs guide
* chore: updates to collections
* chore: updates to items
* Nuxt 3 guide
* Small Next guide fixes
* Added tips
* Spellcheck fixes
* Rework resizement
* Move debounce to private-view
* Update Nuxt 3 guides - styling and sentence clarity.
* add refreshLivePreview custom property to window
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* remove remaining "window as any" typecasts
* Show 'grab-bar' only if wrapper is in viewport
* toggle preview instead of split in mobile view
* tweak to unwrap nested IF conditions
* do not change preview button icon when enabled
* hide grab-bar in mobile
* check main content width instead of window width
* Fix save-and-stay not updating preview url
* Update refresh button function call
* Add frame loader to prevent flashing
* Prevent scrollbar flashing when toggling splitview
* lift specific logic from v-resizable to private-view
This piece of logic was meant only for the content area and shouldn't affect every v-resizable usages
* use v-show instead of v-if to hide main content
v-resizable has an internalWidth that should not be reset when user resize the left navigation bar, as well as the form shouldn't be re-rendered
* check target to hide the grab-bar in toggle mode
as we're only hiding the target rather than disabling the wrapper, we had to check whether the target is visible as well to determine whether to show the grab-bar
* Fix zoom behaviour & remove leftovers
* remove wrapperIsVisible check
in favor of only relying on targetIsVisible check
* Revert "Add frame loader to prevent flashing"
This reverts commit e4c2d3d4bd.
* Final tweaks
- Enhance frame zoom
- Min width for frame
- Hide main content based on overall size
(ensure it works for all browser sizes)
- Various enhancements & fixes
* Update migration date
* Create rare-bananas-melt.md
* Better naming for remaining width var
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
---------
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Esther Agbaje <folasadeagbaje@gmail.com>
Co-authored-by: Kevin Lewis <kvn@lws.io>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
* Add synchronization to schedule flows and hooks
Fixes#15052
* Add changeset
* Add test
* Add to sequential list
* Fix spelling in changeset
---------
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: ian <licitdev@gmail.com>
* Remove publishConfig from all packages
* Remove invalid version field
* Move @directus/composables to devDependencies in app
* Resort all package.json files
* Align meta fields
---------
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Add testing setup
* Update commands to reflect recent changes, full form of flags
* Update paths
* Fix links to running tests
* Fix one link more
* Make spellchecker happy
* Restructure, focus on blackbox tests
* Focus on basic info about tests
* Add info about relative commands
* Clean-up dictionary
* Create stupid-pumas-care.md
* Add short tests intro
* Add info about Subsequent blackbox test runs
Co-authored-by: ian <licitdev@gmail.com>
---------
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Kevin Lewis <kvn@lws.io>
* Adding a maximum for query limit
* fixed bad env check
* using the getEnv function to make it better testable
* updated sanitize-query tests
* added tests for the validate query function
* Added DEFAULT_QUERY_LIMIT as fallback instead
* make the linter happy
* accept infinity as max_query_limit
* fixed merge conflicts
* added missing import
* moved docs PR into main repo
* added missing import
* renamed vars
* basic page size limiting
* Update app/src/layouts/cards/cards.vue
* Update app/src/layouts/map/map.vue
* Update app/src/layouts/tabular/tabular.vue
* Update app/src/layouts/tabular/tabular.vue
* Create paginate util
* extracted page size logic to composable and implemented default usage in app
* updated paginate utility
* using the new fetch-all utility
* removed limit: -1 for api calls that do not support it
* fix linter
* removed console log
* making the linter happy
* Create loud-flowers-yawn.md
* Add tests for no / unlimited limit
* Cover all cases for max limit in sanitizeQuery
* Get rid of non-null assertion
* added test for composable
* Update var names in documentation
* replace hardcoded limit default with env var
* update default page size behavior
* fixed test
* update server info api reference
* include queryLimit in graphql server info
* use configured max limit in calendar layout
* use configured max limit in kanban layout
* account for max query limit in use-revisions
---------
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
* Point to docs hosted C&C
* Point to hosted contributing guidelines
* Remove outdated information
This is incorrect, so does more harm than good imo
* Update contributing guidelines to add feature requests flow
* Lil nicer to read
* Add missing words to dict
* Update docs/contributing/code-of-conduct.md
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* Update docs/contributing/introduction.md
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* Update docs/contributing/pull-request-process.md
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* Update docs/contributing/feature-request-process.md
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* Update docs/contributing/feature-request-process.md
Co-authored-by: Kevin Lewis <kvn@lws.io>
* Update docs/contributing/pull-request-process.md
Co-authored-by: Kevin Lewis <kvn@lws.io>
* Fix license/version for new packages (#18536)
* Standardize TSConfig use (#18538)
* Use tsconfig.prod.json in packages
* Use prod tsconfig in api
* Install node types in storage
* Use vitest run instead of --watch=false (#18540)
* Remove local file
* Revert "Use vitest run instead of --watch=false (#18540)" (#18542)
This reverts commit 97f0af669e.
* Setup boilerplate for data (#18541)
* Setup boilerplate for data
* Update readme
* Fix directory link
* Final tweaks from Ben
---------
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Kevin Lewis <kvn@lws.io>
* move in bar chart
* move in pie chart
* fix color generator
* move in line chart
* fix line chart when color is unset
* move in meter
* fix meter panel when color is unset
* fix insights initial refresh interval
* add changeset
* watch data in pie chart panel
* Update app/src/panels/pie-chart/panel-pie-chart.vue
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* unify function prop type for relevant panels
based on existing type in time series panel
* abstract type for panel function prop
* abstract conditional fill operators
* tweak and add comment in monoThemeGenerator
* Update app/src/panels/pie-chart/panel-pie-chart.vue
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* Update app/src/panels/meter/panel-meter.vue
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* add comment for some magic numbers
* use past tense in changeset
* removed cloud exclusive banner from docs
* updated changeset
* fixed console error "[Vue warn]: Missing required prop"
---------
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Brainslug <tim@brainslug.nl>
* port & refactor kanban layout from extensions
* add danger styling to delete group
* remove todos
* add changeset
* remove misleading active styling on group
* allow non-relational editing of group
* only show delete group when relational
* fix group sorting
* tweak changeGroupSort code style
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* Update app/src/layouts/kanban/index.ts
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* Update app/src/layouts/kanban/index.ts
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* Update app/src/layouts/kanban/index.ts
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* Update app/src/layouts/kanban/index.ts
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* remove redundant changeGroupTitle function
as it was actually superseded by editGroup function
* remove optional chaining for prop functions
* tweak isRelational logic
* use past tense in changeset
* remove cloud exclusive banner from docs
* Changed group background color
* disabled add group dialog
* hide add button in groups for now
* allow group sorting for choices
---------
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Brainslug <tim@brainslug.nl>
* Remove language check from extension build command
* Add getFileExt util
* Add support for building API extensions to ESM
* Build new extensions to ESM by default
* Update config file docs to be in ESM
* Add changeset
* Fix extension test
* Replace nested ternary expression
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* Li(n)t
---------
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>