AdminForthResourceColumn
Column describes one field in the table or collection in database.
Extends
Properties
_underlineType?
optional
_underlineType:string
Internal type which indicates original type of column in database.
Inherited from
AdminForthResourceColumnCommon
. _underlineType
allowMinMaxQuery?
optional
allowMinMaxQuery:boolean
Whether AdminForth will show this field in list view.
Inherited from
AdminForthResourceColumnCommon
. allowMinMaxQuery
backendOnly?
optional
backendOnly:boolean
if true field will !not be passed to UI under no circumstances, but will be presented in hooks
Inherited from
AdminForthResourceColumnCommon
. backendOnly
components?
optional
components:AdminForthFieldComponents
Custom components which will be used to render this field in the admin panel.
Inherited from
AdminForthResourceColumnCommon
. components
editReadonly?
optional
editReadonly:boolean
Whether AdminForth will allow to edit this field in editing mode.
Inherited from
AdminForthResourceColumnCommon
. editReadonly
editingNote?
optional
editingNote:string
|object
Whether AdminForth will show editing note near the field in edit/create form.
Inherited from
AdminForthResourceColumnCommon
. editingNote
enforceLowerCase?
optional
enforceLowerCase:boolean
Will automatically convert any capital letters to lowercase in input during editing
Inherited from
AdminForthResourceColumnCommon
. enforceLowerCase
enum?
optional
enum:AdminForthColumnEnumItem
[]
Enum of possible values for this field.
Inherited from
AdminForthResourceColumnCommon
. enum
extra?
optional
extra:object
An optional configuration object for extra settings.
jsonCollapsedLevel?
optional
jsonCollapsedLevel:number
How many levels of JSON should be collapsed.
0
means - root level will be already collapsed e.g. {a:1}
will show {...}
where '...'
is clickable
1
means - root level will be shown, but next sub-level will be collapsed e.g. {a: {b: 1}}
will show {a: ...}
where '...'
is clickable
Default is 1.
Inherited from
AdminForthResourceColumnCommon
. extra
fillOnCreate?
optional
fillOnCreate:Function
Whether AdminForth will show this field in show view.
Inherited from
AdminForthResourceColumnCommon
. fillOnCreate
foreignResource?
optional
foreignResource:AdminForthForeignResource
Foreign resource which has pk column with values same that written in this column.
Overrides
AdminForthResourceColumnCommon
. foreignResource
isUnique?
optional
isUnique:boolean
Whether AdminForth will request user to enter unique value during creating or editing record. This option causes AdminForth to make a request to database to check if value is unique. (Constraints are not used, so for large-tables performance make sure you have unique index in database if you set this option to true)
Inherited from
AdminForthResourceColumnCommon
. isUnique
label?
optional
label:string
How column can be labled in the admin panel. Use it for renaming columns. Defaulted to column name with Uppercased first letter.
Inherited from
AdminForthResourceColumnCommon
. label
masked?
optional
masked:boolean
Masked fields will be displayed as *****
on Edit and Create pages.
Inherited from
AdminForthResourceColumnCommon
. masked
max?
optional
max:number
Inherited from
AdminForthResourceColumnCommon
. max
maxLength?
optional
maxLength:number
Maximum length of string that can be entered in this field.
Inherited from
AdminForthResourceColumnCommon
. maxLength
maxValue?
optional
maxValue:number
Maximum value that can be entered in this field.
Inherited from
AdminForthResourceColumnCommon
. maxValue
min?
optional
min:number
Inherited from
AdminForthResourceColumnCommon
. min
minLength?
optional
minLength:number
Minimum length of string that can be entered in this field.
Inherited from
AdminForthResourceColumnCommon
. minLength
minValue?
optional
minValue:number
Minimum value that can be entered in this field.
Inherited from
AdminForthResourceColumnCommon
. minValue
name
name:
string
Column name in database.
Inherited from
AdminForthResourceColumnCommon
. name
primaryKey?
optional
primaryKey:boolean
Whether to use this column as record identifier. Only one column can be primary key. AdminForth tries to guess primary key automatically first.
Inherited from
AdminForthResourceColumnCommon
. primaryKey
required?
optional
required:boolean
|object
Whether AdminForth will require this field to be filled in create and edit forms. Can be set to boolean or object with create and edit properties. If boolean, it will be used for both create and edit forms.
Inherited from
AdminForthResourceColumnCommon
. required
showIn?
optional
showIn: ("show"
|"list"
|"edit"
|"create"
|"filter"
|AdminForthResourcePages
)[]
On which AdminForth pages this field will be shown. By default all. Example: if you want to show field only in create and edit pages, set it to
showIn: [AdminForthResourcePages.CREATE, AdminForthResourcePages.EDIT]
Inherited from
AdminForthResourceColumnCommon
. showIn
sortable?
optional
sortable:boolean
Inherited from
AdminForthResourceColumnCommon
. sortable
type?
optional
type:AdminForthDataTypes
Type of data in column. AdminForth will use this information to render proper input fields in the admin panel. AdminForth tries to guess type of data from database column type automatically for typed databases like SQL-based. However you can explicitly set it to any value. E.g. set AdminForthDataTypes.DATETIME for your string column in SQLite, which stores ISO date strings.
Inherited from
AdminForthResourceColumnCommon
. type
validation?
optional
validation:ValidationObject
[]
Runtime validation Regexp rules for this field.
Inherited from
AdminForthResourceColumnCommon
. validation
virtual?
optional
virtual:boolean
Allows to make the field which does not exist in database table. Examples: add custom show field with user country flag:
{
label: 'Country Flag',
type: AdminForthDataTypes.STRING,
virtual: true,
showIn: [AdminForthResourcePages.SHOW, AdminForthResourcePages.LIST],
components: {
show: '@@/CountryFlag.vue',
list: '@@/CountryFlag.vue',
},
}
This field will be displayed in show and list views with custom component CountryFlag.vue
. CountryFlag.vue should be placed in custom folder and can be next:
<template>
{{ getFlagEmojiFromIso(record.ipCountry) }}
</template>
<script setup>
const props = defineProps(['record']);
function getFlagEmojiFromIso(iso) {
return iso.toUpperCase().replace(/./g, (char) => String.fromCodePoint(char.charCodeAt(0) + 127397));
}
</script>