Base Blaze plugin
Base files for a plugin
Events emitted
key | Description | Argument |
---|
load:custom:field:type | Add to the form builder lookup a new custom field | {type: 'text': component: unmountendComponent} |
displayProperties
The displayProperties
property can be set on entity schema in the api to provide extra information for how to format the way an entity is display. For example the following could be set on an entity
"displayProperties": {
"adminHeader": [
"firstname",
"lastname"
],
"adminLabel": {
"main": [
"firstname",
"lastname"
],
"sub": [
"group.name"
]
},
"adminDefaultListingFilter": {
"firstname": {
"_exists": false
}
}
}
- adminDefaultListingFilter: this is a where query that will be passed to the api to filter records from the admin listing
- adminLabel: properties to build label when record is showing search listings
- adminHeader: properties to build admin header
- adminMainInfoProperty: indicates a property that returns data to be displayed in the admin edit sidebar. Data is returned is formatted with the [data/info-properties](#Info properties) definition
- disableDefaultAdminInfo: boolean value that can be used to hide default sidebar values updated/created
Info properties
There are a few places in the admin that render simple data in a specified format that can be configured on an entity schema as described above.
These properties return data in a format defined by the data/info-properties definition so that they have a consistent format. This defines the data should be and array of objects with following properties
- label: item label
- value: item value
- url: if set it will add a link around the value
- showLabel: indicates if the label should render, default is true
import { DataIcon, EnquiryIcon, PluginIcon, UserIcon } from './components/menu-icons';
import coreAdminPlugin from '@blaze-cms/plugin-admin-core-ui';
config.plugins.set(coreAdminPlugin, {
menuConfig: {
main: {
items: {
enquiries: {
order: 11,
icon: EnquiryIcon,
uri: '/data-listing/enquiry',
label: 'Enquiry',
items: {}
},
data: {
order: 12,
label: 'Data',
icon: DataIcon,
items: {}
},
users: {
order: 13,
label: 'Users',
icon: UserIcon,
items: {}
},
plugins: {
order: 14,
icon: PluginIcon,
label: 'Plugins',
items: {}
}
}
}
}
});