|
|
@ -1,16 +1,17 @@ |
|
|
|
import type { ColumnType } from 'nocodb-sdk' |
|
|
|
import type { ColumnType } from 'nocodb-sdk' |
|
|
|
import { SqlUiFactory, UITypes, isVirtualCol } from 'nocodb-sdk' |
|
|
|
import { SqlUiFactory, UITypes, isVirtualCol } from 'nocodb-sdk' |
|
|
|
import { useProject } from '#imports' |
|
|
|
import { useProject } from '#imports' |
|
|
|
|
|
|
|
import { Ref } from 'vue' |
|
|
|
|
|
|
|
|
|
|
|
export function useColumn(column: ColumnType) { |
|
|
|
export function useColumn(column: Ref<ColumnType>) { |
|
|
|
const { project } = useProject() |
|
|
|
const { project } = useProject() |
|
|
|
|
|
|
|
|
|
|
|
const uiDatatype: UITypes = (column && column.uidt) as UITypes |
|
|
|
const uiDatatype: UITypes = (column?.value?.uidt) as UITypes |
|
|
|
const abstractType = isVirtualCol(column) |
|
|
|
const abstractType = isVirtualCol(column?.value) |
|
|
|
? null |
|
|
|
? null |
|
|
|
: SqlUiFactory.create(project.value?.bases?.[0]?.config || { client: 'mysql2' }).getAbstractType(column) |
|
|
|
: SqlUiFactory.create(project.value?.bases?.[0]?.config || { client: 'mysql2' }).getAbstractType(column?.value) |
|
|
|
|
|
|
|
|
|
|
|
const dataTypeLow = column && column.dt && column.dt.toLowerCase() |
|
|
|
const dataTypeLow = column?.value?.dt?.toLowerCase() |
|
|
|
const isBoolean = abstractType === 'boolean' |
|
|
|
const isBoolean = abstractType === 'boolean' |
|
|
|
const isString = abstractType === 'string' |
|
|
|
const isString = abstractType === 'string' |
|
|
|
const isTextArea = uiDatatype === UITypes.LongText |
|
|
|
const isTextArea = uiDatatype === UITypes.LongText |
|
|
|