mirror of
https://github.com/directus/directus.git
synced 2026-02-16 19:05:53 -05: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
142 lines
2.8 KiB
TypeScript
142 lines
2.8 KiB
TypeScript
import { defineInterface } from '@directus/shared/utils';
|
|
import InterfaceInputAutocompleteAPI from './input-autocomplete-api.vue';
|
|
import PreviewSVG from './preview.svg?raw';
|
|
|
|
export default defineInterface({
|
|
id: 'input-autocomplete-api',
|
|
name: '$t:interfaces.input-autocomplete-api.input-autocomplete-api',
|
|
description: '$t:interfaces.input-autocomplete-api.description',
|
|
icon: 'find_in_page',
|
|
component: InterfaceInputAutocompleteAPI,
|
|
types: ['string', 'text'],
|
|
localTypes: ['standard'],
|
|
group: 'standard',
|
|
recommendedDisplays: ['formatted-value'],
|
|
options: [
|
|
{
|
|
field: 'url',
|
|
name: '$t:url',
|
|
type: 'string',
|
|
meta: {
|
|
interface: 'input',
|
|
options: {
|
|
placeholder: 'https://example.com/search?q={{value}}',
|
|
font: 'monospace',
|
|
},
|
|
width: 'full',
|
|
},
|
|
},
|
|
{
|
|
field: 'resultsPath',
|
|
name: '$t:interfaces.input-autocomplete-api.results_path',
|
|
type: 'string',
|
|
meta: {
|
|
interface: 'input',
|
|
options: {
|
|
placeholder: 'result.predictions',
|
|
font: 'monospace',
|
|
},
|
|
width: 'half',
|
|
},
|
|
},
|
|
{
|
|
field: 'valuePath',
|
|
name: '$t:interfaces.input-autocomplete-api.value_path',
|
|
type: 'string',
|
|
meta: {
|
|
interface: 'input',
|
|
options: {
|
|
placeholder: 'structured_main_text',
|
|
font: 'monospace',
|
|
},
|
|
width: 'half',
|
|
},
|
|
},
|
|
{
|
|
field: 'trigger',
|
|
name: '$t:interfaces.input-autocomplete-api.trigger',
|
|
type: 'string',
|
|
schema: {
|
|
default_value: 'throttle',
|
|
},
|
|
meta: {
|
|
width: 'half',
|
|
interface: 'select-dropdown',
|
|
options: {
|
|
choices: [
|
|
{
|
|
text: 'Throttle',
|
|
value: 'throttle',
|
|
},
|
|
{
|
|
text: 'Debounce',
|
|
value: 'debounce',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
field: 'rate',
|
|
name: '$t:interfaces.input-autocomplete-api.rate',
|
|
type: 'integer',
|
|
schema: {
|
|
default_value: 500,
|
|
},
|
|
meta: {
|
|
width: 'half',
|
|
interface: 'input',
|
|
},
|
|
},
|
|
{
|
|
field: 'placeholder',
|
|
name: '$t:placeholder',
|
|
meta: {
|
|
width: 'half',
|
|
interface: 'input',
|
|
options: {
|
|
placeholder: '$t:enter_a_placeholder',
|
|
},
|
|
},
|
|
},
|
|
{
|
|
field: 'font',
|
|
name: '$t:font',
|
|
type: 'string',
|
|
meta: {
|
|
width: 'half',
|
|
interface: 'select-dropdown',
|
|
options: {
|
|
choices: [
|
|
{ text: '$t:sans_serif', value: 'sans-serif' },
|
|
{ text: '$t:monospace', value: 'monospace' },
|
|
{ text: '$t:serif', value: 'serif' },
|
|
],
|
|
},
|
|
},
|
|
schema: {
|
|
default_value: 'sans-serif',
|
|
},
|
|
},
|
|
{
|
|
field: 'iconLeft',
|
|
name: '$t:icon_left',
|
|
type: 'string',
|
|
meta: {
|
|
width: 'half',
|
|
interface: 'select-icon',
|
|
},
|
|
},
|
|
{
|
|
field: 'iconRight',
|
|
name: '$t:icon_right',
|
|
type: 'string',
|
|
meta: {
|
|
width: 'half',
|
|
interface: 'select-icon',
|
|
},
|
|
},
|
|
],
|
|
preview: PreviewSVG,
|
|
});
|