* Remove UTC conversion from date, time and datetime fields
* Fix mysql / maria timestamps when not in UTC timezone
* Add sequential tests with node timezone change
* Increase connection attempt check
* Add error catching in tests flow setup
* Check for server connectivity
* Fix promises
* Fix timestamp inconsistencies
* Revert to previously used parseISO
* Ensure database and directus connection
* Add another timezone to test positive and negative GMT
* Set local server hostname to localhost
* Add tests for SQLite
* Use notNullable primary key
* Revert connection testing sleep duration
* Fix nested transactions on SQLite
* Increase MSSQL request timeout
* Add type override flag for SQLite
* Remove commented code
* Add type override flags for Oracle
* Updated test file path
* Increase test servers launch timeout
* Increase test servers launch timeout
* Update format of tests
* Fix typo
* Increase test timeout for CockroachDB
* Add type overrides when creating fields through collections service
* Remove time field type conversion for Oracle
* Update collections list in test
* Remove check for time field in Oracle
* Add missing continue...
* Remove database override
* Add note for SQLite
* Rename flags and extract shared util
* Abstract remaining DB specific checks
* Revert flags renaming except renaming of test files
* Use date helper to add field flag
* Move field date typecasting upstream
* Use timestamp helper for date-created and date-updated
* Fix tests
* Remove unused vars
* Add tests for date-created
* Increase connection attempt count
* Fix test for mariadb
* Increase allowable difference to account for delays
* Add tests for date-updated
* Fix tests again for mariadb
* Add date helpers post merge
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Rename date functions to fn, add json_array_length for pg
* Add json count to mssql
* Add json array count support to other vendors
* Add UI for selecting API functions
* Make it not break
* Render functions in filter preview better
* Include functions in field altering
* Add schema access to database helper
* Allow filtering against o2m/m2m/m2a count
* Add data function execution helpers in utils
* Fix type issue
* Inject function results in validate step
* Render field keys with function names translated
* Allow selecting nested/functions in field validation step
* Make sure number comparisons are treated as numbers
* Add check if instanceof date when casting to a Number
* Prevent selecting foreign keys for junction sort (#12463)
* [SDK] Add further request options to `items` functions (#12503)
* add possibility to set further options to the request
* fix options type
* add typings to interface
* add test if headers are passed thourght
* create reusable options param
* set higher priority to options param
* Small stylistic cleanup
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Jürg Hunziker <juerg.hunziker@gmail.com>
* add icon & color to bookmarks
* update current bookmark title on edit
* clean up edit bookmark dialog on cancel
* remove unused bookmark-edit component
* interaction improvements
* sort based on scope and alphabetically
* prevent hover when locked & use tooltip
* Reduce size of right hand icon in bookmark
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Add field validation column
* Add frontend config for validation
* Make it work
* Add regex to filter configuration
* Fix const/let
* Add custom validation message support
* Add custom validation message tooltip inline
* Fix custom names in validation errors up top
* Fix type error
* Nog eentje om het af te leren
* resolve unused import warnings
* 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>
* Use script setup
* Start on export dialog
* Use new system field interface, replace limit with numeric input
* Set placeholder
* Add sort config
* Use folder picker, correct layoutQuery use
* Add local download button
* Allow writing exports to file
* Add notification after export
* Fix sort config, use new export endpoint
* Setup notification hints
* Add information notice
* Fix local limit, cancel button
* Add (basic) docs for export functionality
* Fix json export file format
* Implement xml batch stitching
* Resolve review points
* expand groups on save when they contain error(s)
* bubble to top & scroll top
* fix groups validation errors watcher
* fix group acordion's first error field selection
* update global error notice
* WIP - field validation
* tweak validation errors list styling
* more validation-errors-list tweaks
* click and scroll to field
* move validation error notice to a component
* tweak use-item validate
* validate drawer item
* extract validateItem function
* Revert "WIP - field validation"
This reverts commit f6ffd836c4.
* Start by stripping out the previous Union attempt
* Then set limit to -1, causing massive memory issues on big data sets
* Now fix the memory problem by batching the responses
* Use env var for max relational batch size
* Rename env var, add to docs
* extension takes context object
* v-model with options object
* removed comments
* added typing
* fixed typing
* state is saved on field-configuration
* extension-options uses object for objectOptions
* removed unnecessary context
* more props instead of context object
* remove unused import
* move Panel type to shared
* passing edits.options => whole edit object
* alterOptions check => edits watch
* props on extension types have defaults
* returning the whole panel not just .options
* panels without functions load
* only displaying first, last, and count
* first last count working
* string values displayed!
* removed unused vars
* choices disabled not removed
* options.function resets to count
* fills in values when editing a panel
* field resets when collection changes
* doesn't wipe collection on edit
* panel cleared when panel type changes
* removed resolved comment
* package.json
* Advanced Field Detail working
* divider on type of function
* divider option removed unneeded values
* removed unneeded v-if
* Don't check against function type in panel options
* Tweaks to resolve my own commentary
* 🧹 Cleanup tweaks
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
This ensures that extensions work with an out-of-root extensions folder.
Instead of leaving the list of API shared deps empty, this adds `directus` as the only shared dep
because it is never a good idea to bundle the Directus API into an extension.
* Refactor parseFilter to only flatten filter entries that need it
* Fixed typescript check
* Use custom get function instead of lodash's.
* Improved get function readability
* Allow null result from shared parseFilter
* Add missing defaultValue in get function
* Change parseFilter argument type from Record<string, any> to Filter | null
Co-authored-by: ian <licitdev@gmail.com>
* Update geometric types and patch new field flow.
* Add migration
* Fixed migrations
* Also fixed migrations
* Update migration ID
* Cleanup type selector a bit
* Add missing fallback interface/display for new types
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Add new grouping setup to interfaces
* [WIP] Start on new field flow
* Add preview svgs
* Update preview svg
* Add basic saving mechanism. Start on magic
* Add interface options to simple inputs
* Fix missing t
* Fix custom options not rendering
* Fix interface options overrides
* Sync m2o name key
* Setup m2o related collection input
* Add collections generation
* Add circular prevention & type syncing
* Small fixes in m2o context generation
* Move o2m options to fn structure
* Conclude o2m (i think)
* Start on toggle to advanced
* Style advanced toggle button
* Add localType File support, start documenting
* Add presentation/group localtypes
* Use function style interface options in m2m
* Don't require collection prop in field template component
* Implement most of m2m magic
* Restructure store updater
* Finish useFieldDetailStore restructure
* Only register root index in module folders
* Do the thing
* Finish m2m magic, tweak fallback styles
* Fix o2m display template setup
* Remove options comp for translations interface
* Show languages collection picker in translations
* Finish translations alterations
* Add magic for files type
* Officially wave goodbye to the old store setup
It served it's purpose, but what a nightmare to maintain. Welcome to the new version
* Update schema tab
* Add field pane
* Finish interface section
* Add display section
* Add conditions
* Update tabs to use localType from store
* Start on relationship tab
* Update m2m relational setup
* Start on m2o
* Finish m2o setup
* Finish o2m setup
* Add m2a magic
* Various tweaks
* Add m2a setup
* Add save button to advanced flow
* Load existing values on start
* Add upsert to stores, allow updating existing items
* Please the linter gods
* Remove seemingly redundant interface option
@Oreilles Seeing the geometry type is already configured in the schema configuration, this particular option on the interface feels redundant (?)
* Remove unnecessary option component overrides
* Track relationships in required fields for save state
* Fix relations previews on editing existing fields
* Use standard vs advanced for input options
* Remove note from simple field setup
* Add divider to field config
* Use background subdued
* Default required to false
* Add required icons to key/relationship
* Tweak colors
* Fix infinite loop in group creation
* Make setup responsive
* Allow switching interface at will
* Add m2a related collections picker
* Fix relations persisting on field deletion
* Add "Create in Advanced" shortcut
Just for you @joselcvarela
* Fix PK field staging on collection create
* Revert "Remove seemingly redundant interface option"
This reverts commit e5e09a051e.
* Fix map interface options
* Use default filter operator for type in filter input. Also fix error on geometry operator update.
* Fixed tests.
* Only reset geometry filter value when necessary
* Support `null` for boolean operators.
* Add migrations, start on service
* Dont track TODO files
* Update collection types, add collection type
* Allow drag and drop sorting of collections
* Add tooltip
* Add grouping + collapsed state
* Fix nested closed state
* Tweak active drag styling
* Remove collapsed state
* Add folder creation/editing
* Render collections as nested tree in nav
* Fix open active state
* Add dense when collection count > 5
* Add visible toggle
* Add show-hidden toggle
* Fix css specificity
* Add support for query in v-list-group
* Add missing cascade
* Remove collapsed state
* Finish three-way toggle
* Add custom lock icon
* Fix icon size in non-dense
* Redirect to first & open tree on load
* Dont make prop required
* Fix search
* Only apply archive filter when enabled in settings
* Add archive view
* Add translations
* Hide organization fields
* Show system collections
* Bug fixes in the new filter interface
* Removed `eq`, `neq` filter for geometry type.
* Fixed tests for getFilterOperatorForType on geometry type.
* Removed `eq`, `neq`, `in`, `nin` filter operator for json
* Added `bigInteger` and `float` support in getFilterOperatorForType and fixed tests
* Added input regex pattern for numbers and uuid in filter input component
* Remove advanced filter sidebar detail
So long, and thanks for all the fish.
* Remove filter conversion logic
* Start replacing/removing old skool filters
* Add inline mode for usages in search bar
* Make filter work in header bar
* Emit empty string as null in filter
* Move shared filter types to shared
* Upgrade use-items
* Fix manual sort on tabular
* Cleanup styling in search bar usage
* Tweak styling
* Fix filtering issues
* Update cards
* Remove activeFilterCount from tabular
* Update maps to work with new filters
* Update calendar to new filter/sort structure
* Fix activity module nav/search
* Fix no-results message
* Update file library filtering
* Finalize user search
* Allow filtering in drawer-collection
* Handle cancelled responses semi-gracefully
* Add loading start state timeout
* Replace sort type in api
* Last commit before redoing a bunch
* Finish new visual style
* Remove unused rounded prop from v-menu
* Tweak sizing
* Enough size tweaking for now
* Count all filter operators instead of top
* Fix archive casting
* Fix api build
* Add merge filters util
* Split filter in user vs system
* Fix export sidebar detail
* Show field label on permissions configuration
* Add migration for filter/sort
* Use filters in insights
This field will be used in conjunction with pack extensions
to be able to hide extensions that are only usable as part of a pack.
There is no need to make the field required, though.
* Update dependency axios to v0.22.0
* Fix shared type
* Use any type in axios
* Adjust for axios type breaking change
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>