Split types
This commit is contained in:
parent
a318290518
commit
6c17d3e257
|
@ -30,7 +30,7 @@ interface DerivedDatasourceStore {
|
||||||
|
|
||||||
interface ActionDatasourceStore {
|
interface ActionDatasourceStore {
|
||||||
datasource: DatasourceStore["definition"] & {
|
datasource: DatasourceStore["definition"] & {
|
||||||
actions: DatasourceActions<UpdateViewRequest | SaveTableRequest> & {
|
actions: DatasourceActions & {
|
||||||
refreshDefinition: () => Promise<void>
|
refreshDefinition: () => Promise<void>
|
||||||
changePrimaryDisplay: (column: string) => Promise<void>
|
changePrimaryDisplay: (column: string) => Promise<void>
|
||||||
addSchemaMutation: (field: string, mutation: UIFieldMutation) => void
|
addSchemaMutation: (field: string, mutation: UIFieldMutation) => void
|
||||||
|
@ -339,7 +339,7 @@ export const createActions = (context: StoreContext): ActionDatasourceStore => {
|
||||||
|
|
||||||
// Checks if a certain datasource config is valid
|
// Checks if a certain datasource config is valid
|
||||||
const isDatasourceValid = (datasource: UIDatasource) => {
|
const isDatasourceValid = (datasource: UIDatasource) => {
|
||||||
return getAPI()?.actions.isDatasourceValid(datasource)
|
return getAPI()?.actions.isDatasourceValid(datasource as any)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Checks if this datasource can use a specific column by name
|
// Checks if this datasource can use a specific column by name
|
||||||
|
|
|
@ -8,7 +8,7 @@ import {
|
||||||
UpdateViewRequest,
|
UpdateViewRequest,
|
||||||
} from "@budibase/types"
|
} from "@budibase/types"
|
||||||
|
|
||||||
interface DatasourceActions<
|
interface DatasourceBaseActions<
|
||||||
TDatasource = UITable | UIView,
|
TDatasource = UITable | UIView,
|
||||||
TSaveDefinitionRequest = UpdateViewRequest | SaveTableRequest
|
TSaveDefinitionRequest = UpdateViewRequest | SaveTableRequest
|
||||||
> {
|
> {
|
||||||
|
@ -22,10 +22,15 @@ interface DatasourceActions<
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface DatasourceTableActions
|
export interface DatasourceTableActions
|
||||||
extends DatasourceActions<UITable, SaveTableRequest> {}
|
extends DatasourceBaseActions<UITable, SaveTableRequest> {}
|
||||||
|
|
||||||
export interface DatasourceViewActions
|
export interface DatasourceViewActions
|
||||||
extends DatasourceActions<UIView, UpdateViewRequest> {}
|
extends DatasourceBaseActions<UIView, UpdateViewRequest> {}
|
||||||
|
|
||||||
export interface DatasourceNonPlusActions
|
export interface DatasourceNonPlusActions
|
||||||
extends DatasourceActions<UIDatasource, never> {}
|
extends DatasourceBaseActions<UIDatasource, never> {}
|
||||||
|
|
||||||
|
export type DatasourceActions =
|
||||||
|
| DatasourceTableActions
|
||||||
|
| DatasourceViewActions
|
||||||
|
| DatasourceNonPlusActions
|
||||||
|
|
|
@ -1,33 +1,7 @@
|
||||||
import { SortOrder, UIFieldSchema, UISearchFilter } from "@budibase/types"
|
import { UITable, UIView } from "@budibase/types"
|
||||||
|
|
||||||
export type UIDatasource = UITable | UIView
|
export type UIDatasource = UITable | UIView
|
||||||
|
|
||||||
export interface UITable {
|
|
||||||
type: string
|
|
||||||
name: string
|
|
||||||
id: string
|
|
||||||
tableId: string
|
|
||||||
primaryDisplay?: string
|
|
||||||
sort?: {
|
|
||||||
field: string
|
|
||||||
order: SortOrder
|
|
||||||
}
|
|
||||||
queryUI: UISearchFilter
|
|
||||||
schema: Record<string, UIFieldSchema>
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface UIView {
|
|
||||||
type: string
|
|
||||||
version: 2
|
|
||||||
id: string
|
|
||||||
tableId: string
|
|
||||||
sort?: {
|
|
||||||
field: string
|
|
||||||
order: SortOrder
|
|
||||||
}
|
|
||||||
queryUI: UISearchFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface UIFieldMutation {
|
export interface UIFieldMutation {
|
||||||
visible: boolean
|
visible: boolean
|
||||||
readonly?: boolean
|
readonly?: boolean
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
export * from "./columns"
|
export * from "./columns"
|
||||||
export * from "./datasource"
|
export * from "./datasource"
|
||||||
export * from "./table"
|
export * from "./table"
|
||||||
|
export * from "./view"
|
||||||
|
|
|
@ -3,8 +3,24 @@ import {
|
||||||
FieldSchema,
|
FieldSchema,
|
||||||
FieldType,
|
FieldType,
|
||||||
RelationSchemaField,
|
RelationSchemaField,
|
||||||
|
SortOrder,
|
||||||
|
UISearchFilter,
|
||||||
} from "@budibase/types"
|
} from "@budibase/types"
|
||||||
|
|
||||||
|
export interface UITable {
|
||||||
|
type: string
|
||||||
|
name: string
|
||||||
|
id: string
|
||||||
|
tableId: string
|
||||||
|
primaryDisplay?: string
|
||||||
|
sort?: {
|
||||||
|
field: string
|
||||||
|
order: SortOrder
|
||||||
|
}
|
||||||
|
queryUI: UISearchFilter
|
||||||
|
schema: Record<string, UIFieldSchema>
|
||||||
|
}
|
||||||
|
|
||||||
export type UIFieldSchema = FieldSchema &
|
export type UIFieldSchema = FieldSchema &
|
||||||
BasicViewFieldMetadata & {
|
BasicViewFieldMetadata & {
|
||||||
related?: { field: string; subField: string }
|
related?: { field: string; subField: string }
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
import { SortOrder, UISearchFilter } from "@budibase/types"
|
||||||
|
import { UIFieldSchema } from "./table"
|
||||||
|
|
||||||
|
export interface UIView {
|
||||||
|
type: string
|
||||||
|
version: 2
|
||||||
|
id: string
|
||||||
|
tableId: string
|
||||||
|
primaryDisplay?: string
|
||||||
|
schema: Record<string, UIFieldSchema>
|
||||||
|
sort?: {
|
||||||
|
field: string
|
||||||
|
order: SortOrder
|
||||||
|
}
|
||||||
|
queryUI: UISearchFilter
|
||||||
|
}
|
Loading…
Reference in New Issue