mirror of
https://github.com/directus/directus.git
synced 2026-04-25 03:00:53 -04:00
* 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
148 lines
5.5 KiB
TypeScript
148 lines
5.5 KiB
TypeScript
import { Type } from '@directus/shared/types';
|
|
|
|
export const VALIDATION_TYPES = ['FAILED_VALIDATION', 'RECORD_NOT_UNIQUE'];
|
|
|
|
export const DIRECTUS_LOGO = `
|
|
|
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣿⣿⣷⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠿⠿⠿⠿⠿⠛⠛⠉⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣦⣤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡌⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠛⠛⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣤⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠉⠛⣿⣿⣿⣿⣿⡆⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⡿⠿⠛⠛⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⣿⣄⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠉⢿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
⠀⠀⠀⠀⠀⣤⣿⣿⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
⠀⠀⠀⣴⣿⣿⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
⠀⠀⠀⠀⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
|
|
`;
|
|
|
|
/**
|
|
* These are the system endpoints that don't have full/regular CRUD operations available.
|
|
*/
|
|
export const COLLECTIONS_DENY_LIST = [
|
|
'directus_activity',
|
|
'directus_collections',
|
|
'directus_fields',
|
|
'directus_migrations',
|
|
'directus_relations',
|
|
'directus_revisions',
|
|
'directus_sessions',
|
|
'directus_settings',
|
|
];
|
|
|
|
export const MODULE_BAR_DEFAULT = [
|
|
{
|
|
type: 'module',
|
|
id: 'collections',
|
|
enabled: true,
|
|
},
|
|
{
|
|
type: 'module',
|
|
id: 'users',
|
|
enabled: true,
|
|
},
|
|
{
|
|
type: 'module',
|
|
id: 'files',
|
|
enabled: true,
|
|
},
|
|
{
|
|
type: 'module',
|
|
id: 'insights',
|
|
enabled: false,
|
|
},
|
|
{
|
|
type: 'module',
|
|
id: 'docs',
|
|
enabled: true,
|
|
},
|
|
{
|
|
type: 'module',
|
|
id: 'settings',
|
|
enabled: true,
|
|
locked: true,
|
|
},
|
|
];
|
|
|
|
export const FIELD_TYPES_SELECT: Array<{ value: Type; text: string } | { divider: true }> = [
|
|
{
|
|
text: '$t:string',
|
|
value: 'string',
|
|
},
|
|
{
|
|
text: '$t:text',
|
|
value: 'text',
|
|
},
|
|
{ divider: true },
|
|
{
|
|
text: '$t:boolean',
|
|
value: 'boolean',
|
|
},
|
|
{ divider: true },
|
|
{
|
|
text: '$t:integer',
|
|
value: 'integer',
|
|
},
|
|
{
|
|
text: '$t:bigInteger',
|
|
value: 'bigInteger',
|
|
},
|
|
{
|
|
text: '$t:float',
|
|
value: 'float',
|
|
},
|
|
{
|
|
text: '$t:decimal',
|
|
value: 'decimal',
|
|
},
|
|
{ divider: true },
|
|
{
|
|
text: '$t:geometry',
|
|
value: 'geometry',
|
|
},
|
|
{ divider: true },
|
|
{
|
|
text: '$t:timestamp',
|
|
value: 'timestamp',
|
|
},
|
|
{
|
|
text: '$t:datetime',
|
|
value: 'dateTime',
|
|
},
|
|
{
|
|
text: '$t:date',
|
|
value: 'date',
|
|
},
|
|
{
|
|
text: '$t:time',
|
|
value: 'time',
|
|
},
|
|
{ divider: true },
|
|
{
|
|
text: '$t:json',
|
|
value: 'json',
|
|
},
|
|
{
|
|
text: '$t:csv',
|
|
value: 'csv',
|
|
},
|
|
{
|
|
text: '$t:uuid',
|
|
value: 'uuid',
|
|
},
|
|
{
|
|
text: '$t:hash',
|
|
value: 'hash',
|
|
},
|
|
];
|
|
|
|
export const AUTH_SSO_DRIVERS = ['oauth2', 'openid'];
|