Support plugins in block components
This commit is contained in:
parent
0b2c6e531c
commit
bbe6741ffd
|
@ -26,9 +26,9 @@
|
||||||
$: parentId = $component?.id
|
$: parentId = $component?.id
|
||||||
$: inBuilder = $builderStore.inBuilder
|
$: inBuilder = $builderStore.inBuilder
|
||||||
$: instance = {
|
$: instance = {
|
||||||
_component: `@budibase/standard-components/${type}`,
|
_component: getComponent(type),
|
||||||
_id: id,
|
_id: id,
|
||||||
_instanceName: name || type[0].toUpperCase() + type.slice(1),
|
_instanceName: getInstanceName(name, type),
|
||||||
_styles: {
|
_styles: {
|
||||||
...styles,
|
...styles,
|
||||||
normal: styles?.normal || {},
|
normal: styles?.normal || {},
|
||||||
|
@ -45,6 +45,30 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const getComponent = type => {
|
||||||
|
if (!type) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
if (type.startsWith("plugin/")) {
|
||||||
|
return type
|
||||||
|
} else {
|
||||||
|
return `@budibase/standard-components/${type}`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const getInstanceName = (name, type) => {
|
||||||
|
if (name) {
|
||||||
|
return name
|
||||||
|
}
|
||||||
|
if (!type) {
|
||||||
|
return "New component"
|
||||||
|
}
|
||||||
|
if (type.startsWith("plugin/")) {
|
||||||
|
type = type.split("plugin/")[1]
|
||||||
|
}
|
||||||
|
return type[0].toUpperCase() + type.slice(1)
|
||||||
|
}
|
||||||
|
|
||||||
onDestroy(() => {
|
onDestroy(() => {
|
||||||
if (inBuilder) {
|
if (inBuilder) {
|
||||||
block.unregisterComponent(id, parentId)
|
block.unregisterComponent(id, parentId)
|
||||||
|
|
Loading…
Reference in New Issue