* Added default locale before login
* Use project_language as default language for new users
* Revert "Use project_language as default language for new users"
* Allow user's language field to be nullable; Use project_language whenever language is unset;
* Apply suggestions from code review
Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
* Make "Project Default" option in system-language interface configurable
* Set language only if user language is not null
* Introduced translation for project_language field; Use translation in system-language interface
* Set app language only from app.vue;
Included watcher to restore project_language if user's language is (re)set to null
* Removed .alter() in knex migration since it's not needed for changing default and breaks checks
* Reverted previous change in migration; .alter() is needed for changing column defaults
* Reverted migration to use .defaultTo(null) to set default value
* Update position of project language field in settings
* Fix cockroachdb test error in knex migration
* Fix cockroachdb test error in knex migration
* Apply migration fix also on oracle databases
* Apply changes from code review
* Rename migration to fix migration key error
* Move setLanguage calls to server.ts and hydrate.ts
Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
Co-authored-by: jaycammarano <jay.cammarano@gmail.com>
Co-authored-by: Christian Rendl <cr@mutor.at>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* add migration for translation strings
* add to navigation
* WIP
* fix dialog overflow
* update translation keys
* Update logic
* add placeholder to system-language
* fix translation
* remove unused import
* reset dialog on create new
* ensure search input is visible when searching
* merge translation strings on set language
* merge translation strings on update
* hydrate
* make sure null translation do not get merged
* change dialog to drawer
* update placeholder text
* fix form value
* revert dialog style change
* rename drawer component
* Force safe key name
* Move interface to system interfaces
The saved values are Directus app proprietary, so to prevent confusion in what it's supposed to do, we'll move it to system.
* Move composable to root composables
* Use new languages input in interface/display options
* hide translation strings field in project settings
* set system true to system-input-translated-string
* use this in field detail notes
* use in list options
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Add conditions field to directus_fields
* Add conditions configuration
* Apply conditional overrides
* Handle conditions in nested groups
* Fix reverse mutating conditions
* Start on filter setup interface
* Move field types/constants to shared
* [WIP] Updated client side filter validation
* Support logical operators in client validation step
* Use new validation util in conditions check
* Add nesting in filter seutp
* Add filter rule setup configurator
* Fixes that should've been done in the merge
* Strip out filter-settings interface
TBD in a new PR
* Move browser to index
* Move defineInterface to shared
* Split up utils into node and browser utils
* Move defineDisplay to shared
* Move defineLayout to shared
* Move defineModule to shared
* Add defineEndpoint and defineHook to define-extensions
* Expose define extension functions through extension-sdk
* Make route type of defineEndpoint more specific
* Simplify define extension functions
* Deduplicate types and local types definition
* Do not allow functional components in display handler
* Make interface options nullable
* Deduplicate extension types definition
* Fix utils/node exports