Fix instance name on layouts
This commit is contained in:
parent
997efa62b3
commit
d7cc6836a9
|
@ -87,14 +87,16 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<DetailSummary name="General" collapsible={false}>
|
<DetailSummary name="General" collapsible={false}>
|
||||||
<PropertyControl
|
{#if !componentInstance._component.endsWith("/layout")}
|
||||||
bindable={false}
|
<PropertyControl
|
||||||
control={Input}
|
bindable={false}
|
||||||
label="Name"
|
control={Input}
|
||||||
key="_instanceName"
|
label="Name"
|
||||||
value={componentInstance._instanceName}
|
key="_instanceName"
|
||||||
onChange={val => updateProp("_instanceName", val)}
|
value={componentInstance._instanceName}
|
||||||
/>
|
onChange={val => updateProp("_instanceName", val)}
|
||||||
|
/>
|
||||||
|
{/if}
|
||||||
{#if settings && settings.length > 0}
|
{#if settings && settings.length > 0}
|
||||||
{#each settings as setting (`${componentInstance._id}-${setting.key}`)}
|
{#each settings as setting (`${componentInstance._id}-${setting.key}`)}
|
||||||
{#if canRenderControl(setting)}
|
{#if canRenderControl(setting)}
|
||||||
|
@ -114,8 +116,6 @@
|
||||||
/>
|
/>
|
||||||
{/if}
|
{/if}
|
||||||
{/each}
|
{/each}
|
||||||
{:else}
|
|
||||||
<div class="text">This component doesn't have any additional settings.</div>
|
|
||||||
{/if}
|
{/if}
|
||||||
{#if componentDefinition?.info}
|
{#if componentDefinition?.info}
|
||||||
<div class="text">
|
<div class="text">
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<script>
|
<script>
|
||||||
import PropertyGroup from "./PropertyControls/PropertyGroup.svelte"
|
import StyleSection from "./StyleSection.svelte"
|
||||||
import * as ComponentStyles from "./componentStyles"
|
import * as ComponentStyles from "./componentStyles"
|
||||||
|
|
||||||
export let componentDefinition
|
export let componentDefinition
|
||||||
|
@ -23,10 +23,10 @@
|
||||||
|
|
||||||
{#if styles?.length > 0}
|
{#if styles?.length > 0}
|
||||||
{#each styles as style}
|
{#each styles as style}
|
||||||
<PropertyGroup
|
<StyleSection
|
||||||
{style}
|
{style}
|
||||||
name={style.label}
|
name={style.label}
|
||||||
inline={style.inline}
|
columns={style.columns}
|
||||||
properties={style.settings}
|
properties={style.settings}
|
||||||
{componentInstance}
|
{componentInstance}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
<script>
|
<script>
|
||||||
import PropertyControl from "./PropertyControl.svelte"
|
import PropertyControl from "./PropertyControls/PropertyControl.svelte"
|
||||||
import { DetailSummary } from "@budibase/bbui"
|
import { DetailSummary } from "@budibase/bbui"
|
||||||
import { store } from "builderStore"
|
import { store } from "builderStore"
|
||||||
|
|
||||||
export let name
|
export let name
|
||||||
export let inline = false
|
export let columns
|
||||||
export let properties
|
export let properties
|
||||||
export let componentInstance
|
export let componentInstance
|
||||||
|
|
||||||
|
@ -25,31 +25,27 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<DetailSummary collapsible={false} name={`${name}${changed ? " *" : ""}`}>
|
<DetailSummary collapsible={false} name={`${name}${changed ? " *" : ""}`}>
|
||||||
<div class="group-content" class:inline>
|
<div class="group-content" style="grid-template-columns: {columns || '1fr'}">
|
||||||
{#each properties as prop (`${componentInstance._id}-${prop.key}-${prop.label}`)}
|
{#each properties as prop (`${componentInstance._id}-${prop.key}-${prop.label}`)}
|
||||||
<PropertyControl
|
<div style="grid-column: {prop.column || 'auto'}">
|
||||||
bindable={false}
|
<PropertyControl
|
||||||
label={`${prop.label}${hasPropChanged(style, prop) ? " *" : ""}`}
|
bindable={false}
|
||||||
control={prop.control}
|
label={`${prop.label}${hasPropChanged(style, prop) ? " *" : ""}`}
|
||||||
key={prop.key}
|
control={prop.control}
|
||||||
value={style[prop.key]}
|
key={prop.key}
|
||||||
onChange={val => store.actions.components.updateStyle(prop.key, val)}
|
value={style[prop.key]}
|
||||||
props={getControlProps(prop)}
|
onChange={val => store.actions.components.updateStyle(prop.key, val)}
|
||||||
/>
|
props={getControlProps(prop)}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
{/each}
|
{/each}
|
||||||
</div>
|
</div>
|
||||||
</DetailSummary>
|
</DetailSummary>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.group-content {
|
.group-content {
|
||||||
display: flex;
|
display: grid;
|
||||||
flex-direction: column;
|
|
||||||
justify-content: flex-start;
|
|
||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
gap: var(--spacing-l);
|
gap: var(--spacing-l);
|
||||||
}
|
}
|
||||||
.inline {
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns: 1fr 1fr;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
|
@ -83,7 +83,7 @@ export const layout = [
|
||||||
|
|
||||||
export const margin = {
|
export const margin = {
|
||||||
label: "Margin",
|
label: "Margin",
|
||||||
inline: true,
|
columns: "1fr 1fr",
|
||||||
settings: [
|
settings: [
|
||||||
{
|
{
|
||||||
label: "Top",
|
label: "Top",
|
||||||
|
@ -170,7 +170,7 @@ export const margin = {
|
||||||
|
|
||||||
export const padding = {
|
export const padding = {
|
||||||
label: "Padding",
|
label: "Padding",
|
||||||
inline: true,
|
columns: "1fr 1fr",
|
||||||
settings: [
|
settings: [
|
||||||
{
|
{
|
||||||
label: "Top",
|
label: "Top",
|
||||||
|
@ -257,19 +257,19 @@ export const padding = {
|
||||||
|
|
||||||
export const size = {
|
export const size = {
|
||||||
label: "Size",
|
label: "Size",
|
||||||
inline: true,
|
columns: "1fr 1fr",
|
||||||
settings: [
|
settings: [
|
||||||
{
|
{
|
||||||
label: "Width",
|
label: "Width",
|
||||||
key: "width",
|
key: "width",
|
||||||
control: Input,
|
control: Input,
|
||||||
placeholder: "px",
|
placeholder: "Auto",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "Height",
|
label: "Height",
|
||||||
key: "height",
|
key: "height",
|
||||||
control: Input,
|
control: Input,
|
||||||
placeholder: "px",
|
placeholder: "Auto",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
@ -386,6 +386,8 @@ export const typography = [
|
||||||
|
|
||||||
export const background = {
|
export const background = {
|
||||||
label: "Background",
|
label: "Background",
|
||||||
|
inline: true,
|
||||||
|
columns: "auto 1fr",
|
||||||
settings: [
|
settings: [
|
||||||
{
|
{
|
||||||
label: "Color",
|
label: "Color",
|
||||||
|
@ -474,23 +476,13 @@ export const background = {
|
||||||
|
|
||||||
export const border = {
|
export const border = {
|
||||||
label: "Border",
|
label: "Border",
|
||||||
|
columns: "auto 1fr",
|
||||||
settings: [
|
settings: [
|
||||||
{
|
{
|
||||||
label: "Color",
|
label: "Color",
|
||||||
key: "border-color",
|
key: "border-color",
|
||||||
control: ColorPicker,
|
control: ColorPicker,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
label: "Radius",
|
|
||||||
key: "border-radius",
|
|
||||||
control: Select,
|
|
||||||
options: [
|
|
||||||
{ label: "Small", value: "0.25rem" },
|
|
||||||
{ label: "Medium", value: "0.5rem" },
|
|
||||||
{ label: "Large", value: "1rem" },
|
|
||||||
{ label: "Round", value: "100%" },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: "Width",
|
label: "Width",
|
||||||
key: "border-width",
|
key: "border-width",
|
||||||
|
@ -501,10 +493,23 @@ export const border = {
|
||||||
{ label: "Large", value: "4px" },
|
{ label: "Large", value: "4px" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: "Radius",
|
||||||
|
key: "border-radius",
|
||||||
|
control: Select,
|
||||||
|
column: "1 / 3",
|
||||||
|
options: [
|
||||||
|
{ label: "Small", value: "0.25rem" },
|
||||||
|
{ label: "Medium", value: "0.5rem" },
|
||||||
|
{ label: "Large", value: "1rem" },
|
||||||
|
{ label: "Round", value: "100%" },
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: "Shadow",
|
label: "Shadow",
|
||||||
key: "box-shadow",
|
key: "box-shadow",
|
||||||
control: Select,
|
control: Select,
|
||||||
|
column: "1 / 3",
|
||||||
options: [
|
options: [
|
||||||
{
|
{
|
||||||
label: "Small",
|
label: "Small",
|
||||||
|
|
|
@ -14,6 +14,7 @@ exports.save = async function (ctx) {
|
||||||
...EMPTY_LAYOUT,
|
...EMPTY_LAYOUT,
|
||||||
...layout,
|
...layout,
|
||||||
}
|
}
|
||||||
|
layout.props._instanceName = layout.name
|
||||||
}
|
}
|
||||||
|
|
||||||
layout._id = layout._id || generateLayoutID()
|
layout._id = layout._id || generateLayoutID()
|
||||||
|
|
|
@ -57,6 +57,7 @@ const BASE_LAYOUTS = [
|
||||||
name: "Navigation Layout",
|
name: "Navigation Layout",
|
||||||
props: {
|
props: {
|
||||||
_id: "4f569166-a4f3-47ea-a09e-6d218c75586f",
|
_id: "4f569166-a4f3-47ea-a09e-6d218c75586f",
|
||||||
|
_instanceName: "Navigation Layout",
|
||||||
_component: "@budibase/standard-components/layout",
|
_component: "@budibase/standard-components/layout",
|
||||||
_children: [
|
_children: [
|
||||||
{
|
{
|
||||||
|
@ -102,6 +103,7 @@ const BASE_LAYOUTS = [
|
||||||
name: "Empty Layout",
|
name: "Empty Layout",
|
||||||
props: {
|
props: {
|
||||||
_id: "3723ffa1-f9e0-4c05-8013-98195c788ed6",
|
_id: "3723ffa1-f9e0-4c05-8013-98195c788ed6",
|
||||||
|
_instanceName: "Empty Layout",
|
||||||
_component: "@budibase/standard-components/layout",
|
_component: "@budibase/standard-components/layout",
|
||||||
_children: [
|
_children: [
|
||||||
{
|
{
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"icon": "Sandbox",
|
"icon": "Sandbox",
|
||||||
"hasChildren": true,
|
"hasChildren": true,
|
||||||
"styleable": true,
|
"styleable": true,
|
||||||
"illegalChildren": [],
|
"styles": ["padding", "background"],
|
||||||
"settings": [
|
"settings": [
|
||||||
{
|
{
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
@ -62,6 +62,7 @@
|
||||||
"icon": "Sandbox",
|
"icon": "Sandbox",
|
||||||
"hasChildren": true,
|
"hasChildren": true,
|
||||||
"showSettingsBar": true,
|
"showSettingsBar": true,
|
||||||
|
"styles": ["padding", "size", "background", "border", "shadow"],
|
||||||
"settings": [
|
"settings": [
|
||||||
{
|
{
|
||||||
"type": "select",
|
"type": "select",
|
||||||
|
@ -171,8 +172,7 @@
|
||||||
],
|
],
|
||||||
"defaultValue": "shrink"
|
"defaultValue": "shrink"
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
"styles": ["padding", "size", "background", "border", "shadow"]
|
|
||||||
},
|
},
|
||||||
"section": {
|
"section": {
|
||||||
"name": "Section",
|
"name": "Section",
|
||||||
|
@ -679,7 +679,6 @@
|
||||||
"name": "Bar Chart",
|
"name": "Bar Chart",
|
||||||
"description": "Bar chart",
|
"description": "Bar chart",
|
||||||
"icon": "GraphBarVertical",
|
"icon": "GraphBarVertical",
|
||||||
"styleable": true,
|
|
||||||
"illegalChildren": ["section"],
|
"illegalChildren": ["section"],
|
||||||
"settings": [
|
"settings": [
|
||||||
{
|
{
|
||||||
|
@ -780,7 +779,6 @@
|
||||||
"name": "Line Chart",
|
"name": "Line Chart",
|
||||||
"description": "Line chart",
|
"description": "Line chart",
|
||||||
"icon": "GraphTrend",
|
"icon": "GraphTrend",
|
||||||
"styleable": true,
|
|
||||||
"illegalChildren": ["section"],
|
"illegalChildren": ["section"],
|
||||||
"settings": [
|
"settings": [
|
||||||
{
|
{
|
||||||
|
@ -882,7 +880,6 @@
|
||||||
"name": "Area Chart",
|
"name": "Area Chart",
|
||||||
"description": "Line chart",
|
"description": "Line chart",
|
||||||
"icon": "GraphAreaStacked",
|
"icon": "GraphAreaStacked",
|
||||||
"styleable": true,
|
|
||||||
"illegalChildren": ["section"],
|
"illegalChildren": ["section"],
|
||||||
"settings": [
|
"settings": [
|
||||||
{
|
{
|
||||||
|
@ -996,7 +993,6 @@
|
||||||
"name": "Pie Chart",
|
"name": "Pie Chart",
|
||||||
"description": "Pie chart",
|
"description": "Pie chart",
|
||||||
"icon": "GraphPie",
|
"icon": "GraphPie",
|
||||||
"styleable": true,
|
|
||||||
"illegalChildren": ["section"],
|
"illegalChildren": ["section"],
|
||||||
"settings": [
|
"settings": [
|
||||||
{
|
{
|
||||||
|
@ -1074,7 +1070,6 @@
|
||||||
"name": "Donut Chart",
|
"name": "Donut Chart",
|
||||||
"description": "Donut chart",
|
"description": "Donut chart",
|
||||||
"icon": "GraphDonut",
|
"icon": "GraphDonut",
|
||||||
"styleable": true,
|
|
||||||
"illegalChildren": ["section"],
|
"illegalChildren": ["section"],
|
||||||
"settings": [
|
"settings": [
|
||||||
{
|
{
|
||||||
|
@ -1152,7 +1147,6 @@
|
||||||
"name": "Candlestick Chart",
|
"name": "Candlestick Chart",
|
||||||
"description": "Candlestick chart",
|
"description": "Candlestick chart",
|
||||||
"icon": "GraphBarVerticalStacked",
|
"icon": "GraphBarVerticalStacked",
|
||||||
"styleable": true,
|
|
||||||
"illegalChildren": ["section"],
|
"illegalChildren": ["section"],
|
||||||
"settings": [
|
"settings": [
|
||||||
{
|
{
|
||||||
|
@ -1665,7 +1659,6 @@
|
||||||
"table": {
|
"table": {
|
||||||
"name": "Table",
|
"name": "Table",
|
||||||
"icon": "Table",
|
"icon": "Table",
|
||||||
"styleable": true,
|
|
||||||
"illegalChildren": ["section"],
|
"illegalChildren": ["section"],
|
||||||
"hasChildren": true,
|
"hasChildren": true,
|
||||||
"showEmptyState": false,
|
"showEmptyState": false,
|
||||||
|
@ -1721,11 +1714,6 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "boolean",
|
|
||||||
"label": "Quiet",
|
|
||||||
"key": "quiet"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "multifield",
|
"type": "multifield",
|
||||||
"label": "Columns",
|
"label": "Columns",
|
||||||
|
@ -1735,7 +1723,12 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"label": "Auto Cols.",
|
"label": "Quiet",
|
||||||
|
"key": "quiet"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "boolean",
|
||||||
|
"label": "Auto Columns",
|
||||||
"key": "showAutoColumns",
|
"key": "showAutoColumns",
|
||||||
"defaultValue": false
|
"defaultValue": false
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue