Merge branch 'master' of github.com:Budibase/budibase into deployment

This commit is contained in:
Martin McKeaveney 2020-07-03 09:16:27 +01:00
commit 63ca4c094e
8 changed files with 51 additions and 23 deletions

View File

@ -37,7 +37,7 @@
<div class="heading">
{#if !showFieldView}
<i class="ri-list-settings-line button--toggled" />
<h3 class="budibase__title--3">Create / Edit Model</h3>
<h3 class="budibase__title--3">Create / Edit Table</h3>
{:else}
<i class="ri-file-list-line button--toggled" />
<h3 class="budibase__title--3">Create / Edit Field</h3>

View File

@ -19,19 +19,19 @@
...rest,
},
})
notifier.success(`${model.name} model created.`)
notifier.success(`${model.name} table created.`)
}
</script>
<section transition:fade>
<header>
<h2>Create New Model</h2>
<p>Before you can view your model, you need to set it up.</p>
<h2>Create New Table</h2>
<p>Before you can view your table, you need to set it up.</p>
</header>
<div class="block-row">
<span class="block-row-title">Fields</span>
<p>Blocks are pre-made fields and help you build your model quicker.</p>
<p>Blocks are pre-made fields and help you build your table quicker.</p>
<div class="blocks">
{#each Object.values(FIELDS) as field}
<Block
@ -45,7 +45,7 @@
<div class="block-row">
<span class="block-row-title">Blocks</span>
<p>Blocks are pre-made fields and help you build your model quicker.</p>
<p>Blocks are pre-made fields and help you build your table quicker.</p>
<div class="blocks">
{#each Object.values(BLOCKS) as field}
<Block
@ -58,8 +58,8 @@
</div>
<div class="block-row">
<span class="block-row-title">Models</span>
<p>Blocks are pre-made fields and help you build your model quicker.</p>
<span class="block-row-title">Tables</span>
<p>Blocks are pre-made fields and help you build your table quicker.</p>
<div class="blocks">
{#each Object.values(MODELS) as model}
<Block

View File

@ -53,7 +53,7 @@
bind:value={$backendUiStore.tabs.NAVIGATION_PANEL}>
{#if selectedTab === 'NAVIGATE'}
<Button purple wide on:click={setupForNewModel}>
Create New Model
Create New Table
</Button>
<div class="hierarchy-items-container">
{#each $backendUiStore.models as model}

View File

@ -52,7 +52,35 @@
})
}
function validate() {
let errors = []
for (let field of Object.values($backendUiStore.draftModel.schema)) {
const restrictedFieldNames = ["type", "modelId"]
if (field.name.startsWith("_")) {
errors.push(`field '${field.name}' - name cannot begin with '_''`)
} else if (restrictedFieldNames.includes(field.name)) {
errors.push(`field '${field.name}' - is a restricted name, please rename`)
} else if (!field.name || !field.name.trim()) {
errors.push("field name cannot be blank")
}
}
if (!$backendUiStore.draftModel.name) {
errors.push("Table name cannot be blank")
}
return errors
}
async function saveModel() {
const errors = validate()
if (errors.length > 0) {
notifier.danger(
errors.join("/n")
)
return
}
await backendUiStore.actions.models.save({
model: $backendUiStore.draftModel,
})

View File

@ -313,7 +313,7 @@ export default {
icon: "ri-archive-drawer-fill",
properties: {
design: { ...all },
settings: [{ label: "Model", key: "model", control: ModelSelect }],
settings: [{ label: "Table", key: "model", control: ModelSelect }],
},
children: [],
},
@ -331,7 +331,7 @@ export default {
design: { ...all },
settings: [
{
label: "Model",
label: "Table",
key: "model",
control: ModelSelect,
},
@ -351,7 +351,7 @@ export default {
design: { ...all },
settings: [
{
label: "Model",
label: "Table",
key: "model",
control: ModelSelect,
},
@ -368,7 +368,7 @@ export default {
properties: {
design: { ...all },
settings: [
{ label: "Model", key: "model", control: ModelSelect },
{ label: "Table", key: "model", control: ModelSelect },
{
label: "Chart Type",
key: "type",
@ -399,18 +399,18 @@ export default {
icon: "ri-file-list-fill",
properties: {
design: { ...all },
settings: [{ label: "Model", key: "model", control: ModelSelect }],
settings: [{ label: "Table", key: "model", control: ModelSelect }],
},
children: [],
},
{
name: "List",
_component: "@budibase/standard-components/list",
description: "Renders all children once per record, of a given model",
description: "Renders all children once per record, of a given table",
icon: "ri-file-list-fill",
properties: {
design: { ...all },
settings: [{ label: "Model", key: "model", control: ModelSelect }],
settings: [{ label: "Table", key: "model", control: ModelSelect }],
},
children: [],
},
@ -422,7 +422,7 @@ export default {
icon: "ri-profile-line",
properties: {
design: { ...all },
settings: [{ label: "Model", key: "model", control: ModelSelect }],
settings: [{ label: "Table", key: "model", control: ModelSelect }],
},
children: [],
},

View File

@ -28,7 +28,7 @@
{:else if $backendUiStore.selectedDatabase._id && selectedModel.name}
<ModelDataTable />
{:else}
<i style="color: var(--grey-4)">create your first model to start building</i>
<i style="color: var(--grey-4)">create your first table to start building</i>
{/if}
<style>

View File

@ -22,5 +22,5 @@
</script>
{#if $backendUiStore.models.length === 0}
Please create a model
{:else}Please select a model{/if}
Please create a table
{:else}Please select a table{/if}

View File

@ -196,21 +196,21 @@
}
},
"datatable": {
"description": "an HTML table that fetches data from a model or view and displays it.",
"description": "an HTML table that fetches data from a table or view and displays it.",
"data": true,
"props": {
"model": "models"
}
},
"dataform": {
"description": "an HTML table that fetches data from a model or view and displays it.",
"description": "an HTML table that fetches data from a table or view and displays it.",
"data": true,
"props": {
"model": "models"
}
},
"dataformwide": {
"description": "an HTML table that fetches data from a model or view and displays it.",
"description": "an HTML table that fetches data from a table or view and displays it.",
"data": true,
"props": {
"model": "models"