Merge branch 'develop' of github.com:Budibase/budibase into side-panel

This commit is contained in:
Andrew Kingston 2022-11-14 13:24:47 +00:00
commit 222f002039
18 changed files with 407 additions and 68 deletions

View File

@ -1,5 +1,5 @@
{
"version": "2.1.22-alpha.0",
"version": "2.1.22-alpha.1",
"npmClient": "yarn",
"packages": [
"packages/*"

View File

@ -1,6 +1,6 @@
{
"name": "@budibase/backend-core",
"version": "2.1.22-alpha.0",
"version": "2.1.22-alpha.1",
"description": "Budibase backend core libraries used in server and worker",
"main": "dist/src/index.js",
"types": "dist/src/index.d.ts",
@ -20,7 +20,7 @@
"test:watch": "jest --watchAll"
},
"dependencies": {
"@budibase/types": "2.1.22-alpha.0",
"@budibase/types": "2.1.22-alpha.1",
"@shopify/jest-koa-mocks": "5.0.1",
"@techpass/passport-openidconnect": "0.3.2",
"aws-sdk": "2.1030.0",

View File

@ -1,7 +1,7 @@
{
"name": "@budibase/bbui",
"description": "A UI solution used in the different Budibase projects.",
"version": "2.1.22-alpha.0",
"version": "2.1.22-alpha.1",
"license": "MPL-2.0",
"svelte": "src/index.js",
"module": "dist/bbui.es.js",
@ -38,7 +38,7 @@
],
"dependencies": {
"@adobe/spectrum-css-workflow-icons": "^1.2.1",
"@budibase/string-templates": "2.1.22-alpha.0",
"@budibase/string-templates": "2.1.22-alpha.1",
"@spectrum-css/actionbutton": "^1.0.1",
"@spectrum-css/actiongroup": "^1.0.1",
"@spectrum-css/avatar": "^3.0.2",

View File

@ -1,6 +1,6 @@
{
"name": "@budibase/builder",
"version": "2.1.22-alpha.0",
"version": "2.1.22-alpha.1",
"license": "GPL-3.0",
"private": true,
"scripts": {
@ -71,10 +71,10 @@
}
},
"dependencies": {
"@budibase/bbui": "2.1.22-alpha.0",
"@budibase/client": "2.1.22-alpha.0",
"@budibase/frontend-core": "2.1.22-alpha.0",
"@budibase/string-templates": "2.1.22-alpha.0",
"@budibase/bbui": "2.1.22-alpha.1",
"@budibase/client": "2.1.22-alpha.1",
"@budibase/frontend-core": "2.1.22-alpha.1",
"@budibase/string-templates": "2.1.22-alpha.1",
"@sentry/browser": "5.19.1",
"@spectrum-css/page": "^3.0.1",
"@spectrum-css/vars": "^3.0.1",

View File

@ -7,7 +7,8 @@
"cardsblock",
"repeaterblock",
"formblock",
"chartblock"
"chartblock",
"rowexplorer"
]
},
{

View File

@ -1,6 +1,6 @@
{
"name": "@budibase/cli",
"version": "2.1.22-alpha.0",
"version": "2.1.22-alpha.1",
"description": "Budibase CLI, for developers, self hosting and migrations.",
"main": "src/index.js",
"bin": {
@ -26,9 +26,9 @@
"outputPath": "build"
},
"dependencies": {
"@budibase/backend-core": "2.1.22-alpha.0",
"@budibase/string-templates": "2.1.22-alpha.0",
"@budibase/types": "2.1.22-alpha.0",
"@budibase/backend-core": "2.1.22-alpha.1",
"@budibase/string-templates": "2.1.22-alpha.1",
"@budibase/types": "2.1.22-alpha.1",
"axios": "0.21.2",
"chalk": "4.1.0",
"cli-progress": "3.11.2",

View File

@ -5191,8 +5191,93 @@
"name": "Side Panel",
"icon": "AdDisplay",
"hasChildren": true,
"illegalChildren": ["section"],
"illegalChildren": [
"section"
],
"showEmptyState": false,
"static": true
},
"rowexplorer": {
"block": true,
"name": "Row Explorer Block",
"icon": "PersonalizationField",
"size": {
"width": 600,
"height": 400
},
"settings": [
{
"type": "table",
"label": "Table",
"key": "dataSource",
"required": true
},
{
"type": "text",
"label": "Height",
"key": "height",
"defaultValue": "426px"
},
{
"section": true,
"name": "Cards",
"settings": [
{
"type": "field",
"label": "Search Field",
"key": "cardSearchField",
"nested": true
},
{
"type": "text",
"key": "cardTitle",
"label": "Title",
"nested": true,
"defaultValue": "Title"
},
{
"type": "text",
"key": "cardSubtitle",
"label": "Subtitle",
"nested": true,
"defaultValue": "Subtitle"
},
{
"type": "text",
"key": "cardDescription",
"label": "Description",
"nested": true,
"defaultValue": "Description"
},
{
"type": "text",
"key": "cardImageURL",
"label": "Image URL",
"nested": true
}
]
},
{
"section": true,
"name": "Details",
"settings": [
{
"type": "text",
"key": "detailTitle",
"label": "Title"
},
{
"type": "multifield",
"label": "Fields",
"key": "detailFields",
"nested": true
}
]
}
],
"context": {
"type": "schema",
"suffix": "repeater"
}
}
}

View File

@ -1,6 +1,6 @@
{
"name": "@budibase/client",
"version": "2.1.22-alpha.0",
"version": "2.1.22-alpha.1",
"license": "MPL-2.0",
"module": "dist/budibase-client.js",
"main": "dist/budibase-client.js",
@ -19,9 +19,9 @@
"dev:builder": "rollup -cw"
},
"dependencies": {
"@budibase/bbui": "2.1.22-alpha.0",
"@budibase/frontend-core": "2.1.22-alpha.0",
"@budibase/string-templates": "2.1.22-alpha.0",
"@budibase/bbui": "2.1.22-alpha.1",
"@budibase/frontend-core": "2.1.22-alpha.1",
"@budibase/string-templates": "2.1.22-alpha.1",
"@spectrum-css/button": "^3.0.3",
"@spectrum-css/card": "^3.0.3",
"@spectrum-css/divider": "^1.0.3",

View File

@ -0,0 +1,252 @@
<script>
import Block from "components/Block.svelte"
import BlockComponent from "components/BlockComponent.svelte"
import { makePropSafe as safe } from "@budibase/string-templates"
import { generate } from "shortid"
export let dataSource
export let height
export let cardTitle
export let cardSubtitle
export let cardDescription
export let cardImageURL
export let cardSearchField
export let detailFields
export let detailTitle
const stateKey = generate()
let listDataProviderId
let listRepeaterId
</script>
<Block>
<BlockComponent
type="container"
props={{
direction: "row",
gap: "M",
}}
styles={{
custom: `
height: ${height} !important;
`,
}}
>
<BlockComponent
type="dataprovider"
order={0}
bind:id={listDataProviderId}
props={{
dataSource,
paginate: true,
limit: 10,
filter: [
{
id: 0,
field: cardSearchField,
operator: "fuzzy",
type: "string",
value: `{{ ${safe("state")}.${safe(stateKey + "-search")} }}`,
valueType: "Binding",
noValue: false,
},
],
}}
styles={{
custom: `
flex: 3;
overflow: scroll;
{{#if (and ${safe("state")}.${safe(stateKey)} ${safe(
"device"
)}.${safe("mobile")}) }}
display: none;
{{/if}}
`,
}}
>
<BlockComponent
type="form"
order={0}
styles={{
normal: {
"margin-bottom": "12px",
},
}}
>
<BlockComponent
type="stringfield"
props={{
placeholder: "Search...",
field: `${stateKey}-search`,
onChange: [
{
parameters: {
key: `${stateKey}-search`,
type: "set",
persist: null,
value: `{{ ${safe("eventContext")}.${safe("value")} }}`,
},
"##eventHandlerType": "Update State",
id: 0,
},
],
}}
/>
</BlockComponent>
<BlockComponent
type="repeater"
order={1}
bind:id={listRepeaterId}
context="repeater"
props={{
dataProvider: `{{ literal ${safe(listDataProviderId)} }}`,
direction: "column",
gap: "S",
noRowsMessage: "No data",
}}
>
<BlockComponent
type="spectrumcard"
props={{
title: cardTitle,
subtitle: cardSubtitle,
description: cardDescription,
imageURL: cardImageURL,
horizontal: true,
buttonOnClick: [
{
parameters: {
key: stateKey,
type: "set",
persist: null,
value: `{{ ${safe(listRepeaterId)}.${safe("_id")} }}`,
},
"##eventHandlerType": "Update State",
id: 0,
},
],
}}
styles={{
normal: {
width: "auto",
},
}}
/>
</BlockComponent>
</BlockComponent>
<BlockComponent
type="container"
order={1}
props={{
hAlign: "center",
vAlign: "middle",
size: "grow",
direction: "column",
}}
styles={{
custom: `
padding: 20px;
background-color: var(--spectrum-global-color-gray-50));
border: 1px solid var(--spectrum-global-color-gray-300);
border-radius: 4px;
flex: 4;
{{#if (or ${safe("state")}.${safe(stateKey)} ${safe("device")}.${safe(
"mobile"
)}) }}
display: none;
{{/if}}
`,
}}
>
<BlockComponent
type="icon"
order={0}
props={{
icon: "ri-list-check-2",
size: "ri-2x",
color: "var(--spectrum-global-color-gray-700)",
}}
styles={{
normal: {
"margin-bottom": "12px",
},
}}
/>
<BlockComponent
type="text"
order={1}
props={{
text: "Select a row to view its fields",
color: "var(--spectrum-global-color-gray-700)",
}}
/>
</BlockComponent>
<BlockComponent
type="container"
order={2}
props={{
hAlign: "center",
vAlign: "top",
size: "grow",
direction: "column",
}}
styles={{
custom: `
background-color: var(--spectrum-global-color-gray-50));
border: 1px solid var(--spectrum-global-color-gray-300);
border-radius: 4px;
padding: 20px;
overflow-y: scroll;
flex: 4;
{{#if (isFalsey ${safe("state")}.${safe(stateKey)}) }}
display: none;
{{/if}}
`,
}}
>
<BlockComponent
type="button"
order={0}
props={{
text: "← Back",
onClick: [
{
parameters: {
key: stateKey,
type: "set",
persist: null,
value: "",
},
"##eventHandlerType": "Update State",
id: 0,
},
],
}}
styles={{
custom: `
align-self: flex-end;
margin-bottom: 16px;
{{#if (not ${safe("device")}.${safe("mobile")}) }}
display: none;
{{/if}}
`,
}}
/>
<BlockComponent
type="formblock"
order={1}
props={{
showSaveButton: true,
dataSource,
actionType: "Update",
rowId: `{{ ${safe("state")}.${safe(stateKey)} }}`,
fields: detailFields,
title: detailTitle,
}}
/>
</BlockComponent>
</BlockComponent>
</Block>

View File

@ -3,3 +3,4 @@ export { default as cardsblock } from "./CardsBlock.svelte"
export { default as repeaterblock } from "./RepeaterBlock.svelte"
export { default as formblock } from "./FormBlock.svelte"
export { default as chartblock } from "./ChartBlock.svelte"
export { default as rowexplorer } from "./RowExplorer.svelte"

View File

@ -1,12 +1,12 @@
{
"name": "@budibase/frontend-core",
"version": "2.1.22-alpha.0",
"version": "2.1.22-alpha.1",
"description": "Budibase frontend core libraries used in builder and client",
"author": "Budibase",
"license": "MPL-2.0",
"svelte": "src/index.js",
"dependencies": {
"@budibase/bbui": "2.1.22-alpha.0",
"@budibase/bbui": "2.1.22-alpha.1",
"lodash": "^4.17.21",
"svelte": "^3.46.2"
}

View File

@ -1,6 +1,6 @@
{
"name": "@budibase/sdk",
"version": "2.1.22-alpha.0",
"version": "2.1.22-alpha.1",
"description": "Budibase Public API SDK",
"author": "Budibase",
"license": "MPL-2.0",

View File

@ -1,7 +1,7 @@
{
"name": "@budibase/server",
"email": "hi@budibase.com",
"version": "2.1.22-alpha.0",
"version": "2.1.22-alpha.1",
"description": "Budibase Web Server",
"main": "src/index.ts",
"repository": {
@ -77,11 +77,11 @@
"license": "GPL-3.0",
"dependencies": {
"@apidevtools/swagger-parser": "10.0.3",
"@budibase/backend-core": "2.1.22-alpha.0",
"@budibase/client": "2.1.22-alpha.0",
"@budibase/pro": "2.1.22-alpha.0",
"@budibase/string-templates": "2.1.22-alpha.0",
"@budibase/types": "2.1.22-alpha.0",
"@budibase/backend-core": "2.1.22-alpha.1",
"@budibase/client": "2.1.22-alpha.1",
"@budibase/pro": "2.1.22-alpha.1",
"@budibase/string-templates": "2.1.22-alpha.1",
"@budibase/types": "2.1.22-alpha.1",
"@bull-board/api": "3.7.0",
"@bull-board/koa": "3.9.4",
"@elastic/elasticsearch": "7.10.0",

View File

@ -1094,12 +1094,12 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
"@budibase/backend-core@2.1.22-alpha.0":
version "2.1.22-alpha.0"
resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.1.22-alpha.0.tgz#53d72dd843abe6d8b69bbd663aa159fc5ff49060"
integrity sha512-RHOfd9Qc7ubww9tU8SJspxgCw4zoX8eOmjAsc//7QwgKGwjLBCPngLMmjYYI22J3iZFeaZbir2eRf8HkI4THDw==
"@budibase/backend-core@2.1.22-alpha.1":
version "2.1.22-alpha.1"
resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.1.22-alpha.1.tgz#76637eabbe765b710eded41b82a721c829489298"
integrity sha512-nqRa+3SLdweXmyGVWxpBxLeMoWetSM4odHpCIsahcQhmfVzo5Skbn5OBCgsdpbsQ5oanr7ZdsQzE7Kvpb9ylOA==
dependencies:
"@budibase/types" "2.1.22-alpha.0"
"@budibase/types" "2.1.22-alpha.1"
"@shopify/jest-koa-mocks" "5.0.1"
"@techpass/passport-openidconnect" "0.3.2"
aws-sdk "2.1030.0"
@ -1181,13 +1181,13 @@
svelte-flatpickr "^3.2.3"
svelte-portal "^1.0.0"
"@budibase/pro@2.1.22-alpha.0":
version "2.1.22-alpha.0"
resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.1.22-alpha.0.tgz#5a3edb233271798e0c28ae665b54e3772af79f08"
integrity sha512-tBPgJ5VQdq81PG9QxKvALL6eaWxzCLQARuXoLQu9J2apwYw5SfkVNlH43BWwRpkAHhTVLQl0VFORikBjncBWjA==
"@budibase/pro@2.1.22-alpha.1":
version "2.1.22-alpha.1"
resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.1.22-alpha.1.tgz#78413a59e0709e17252008b264de09421a81b1d7"
integrity sha512-9607AHjqwH+456vATATJBky7RzWElOWaJFDwOBv2vG1WlnqRZacLEU/cqHKAsboh4hOhrJE5HhNOQzretalvSg==
dependencies:
"@budibase/backend-core" "2.1.22-alpha.0"
"@budibase/types" "2.1.22-alpha.0"
"@budibase/backend-core" "2.1.22-alpha.1"
"@budibase/types" "2.1.22-alpha.1"
"@koa/router" "8.0.8"
bull "4.10.1"
joi "17.6.0"
@ -1211,10 +1211,10 @@
svelte-apexcharts "^1.0.2"
svelte-flatpickr "^3.1.0"
"@budibase/types@2.1.22-alpha.0":
version "2.1.22-alpha.0"
resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.1.22-alpha.0.tgz#51c72726bff7b6af3096509e55d9ba006aac3c3e"
integrity sha512-fA+GsnyJqT4O78A9OhQTPje5yaL+RMvG23grJ+WSIUkZ+uRO83a29O7rBOFE4P4FldbsPEw1qHgt+e1wWrR+Uw==
"@budibase/types@2.1.22-alpha.1":
version "2.1.22-alpha.1"
resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.1.22-alpha.1.tgz#b3f8203a216904b9d5cae2032ab54425862fe18a"
integrity sha512-wuiIZ+4Yg6WcBShSKIbWvkqG+TQcu9kWXxcOL2/76dAq9W3QsuVml8xIjtC22F7SqSUCsWbwSvGioOkFJznDrg==
"@bull-board/api@3.7.0":
version "3.7.0"

View File

@ -1,6 +1,6 @@
{
"name": "@budibase/string-templates",
"version": "2.1.22-alpha.0",
"version": "2.1.22-alpha.1",
"description": "Handlebars wrapper for Budibase templating.",
"main": "src/index.cjs",
"module": "dist/bundle.mjs",

View File

@ -1,6 +1,6 @@
{
"name": "@budibase/types",
"version": "2.1.22-alpha.0",
"version": "2.1.22-alpha.1",
"description": "Budibase types",
"main": "dist/index.js",
"types": "dist/index.d.ts",

View File

@ -1,7 +1,7 @@
{
"name": "@budibase/worker",
"email": "hi@budibase.com",
"version": "2.1.22-alpha.0",
"version": "2.1.22-alpha.1",
"description": "Budibase background service",
"main": "src/index.ts",
"repository": {
@ -36,10 +36,10 @@
"author": "Budibase",
"license": "GPL-3.0",
"dependencies": {
"@budibase/backend-core": "2.1.22-alpha.0",
"@budibase/pro": "2.1.22-alpha.0",
"@budibase/string-templates": "2.1.22-alpha.0",
"@budibase/types": "2.1.22-alpha.0",
"@budibase/backend-core": "2.1.22-alpha.1",
"@budibase/pro": "2.1.22-alpha.1",
"@budibase/string-templates": "2.1.22-alpha.1",
"@budibase/types": "2.1.22-alpha.1",
"@koa/router": "8.0.8",
"@sentry/node": "6.17.7",
"@techpass/passport-openidconnect": "0.3.2",

View File

@ -291,12 +291,12 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
"@budibase/backend-core@2.1.22-alpha.0":
version "2.1.22-alpha.0"
resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.1.22-alpha.0.tgz#53d72dd843abe6d8b69bbd663aa159fc5ff49060"
integrity sha512-RHOfd9Qc7ubww9tU8SJspxgCw4zoX8eOmjAsc//7QwgKGwjLBCPngLMmjYYI22J3iZFeaZbir2eRf8HkI4THDw==
"@budibase/backend-core@2.1.22-alpha.1":
version "2.1.22-alpha.1"
resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.1.22-alpha.1.tgz#76637eabbe765b710eded41b82a721c829489298"
integrity sha512-nqRa+3SLdweXmyGVWxpBxLeMoWetSM4odHpCIsahcQhmfVzo5Skbn5OBCgsdpbsQ5oanr7ZdsQzE7Kvpb9ylOA==
dependencies:
"@budibase/types" "2.1.22-alpha.0"
"@budibase/types" "2.1.22-alpha.1"
"@shopify/jest-koa-mocks" "5.0.1"
"@techpass/passport-openidconnect" "0.3.2"
aws-sdk "2.1030.0"
@ -328,22 +328,22 @@
uuid "8.3.2"
zlib "1.0.5"
"@budibase/pro@2.1.22-alpha.0":
version "2.1.22-alpha.0"
resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.1.22-alpha.0.tgz#5a3edb233271798e0c28ae665b54e3772af79f08"
integrity sha512-tBPgJ5VQdq81PG9QxKvALL6eaWxzCLQARuXoLQu9J2apwYw5SfkVNlH43BWwRpkAHhTVLQl0VFORikBjncBWjA==
"@budibase/pro@2.1.22-alpha.1":
version "2.1.22-alpha.1"
resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.1.22-alpha.1.tgz#78413a59e0709e17252008b264de09421a81b1d7"
integrity sha512-9607AHjqwH+456vATATJBky7RzWElOWaJFDwOBv2vG1WlnqRZacLEU/cqHKAsboh4hOhrJE5HhNOQzretalvSg==
dependencies:
"@budibase/backend-core" "2.1.22-alpha.0"
"@budibase/types" "2.1.22-alpha.0"
"@budibase/backend-core" "2.1.22-alpha.1"
"@budibase/types" "2.1.22-alpha.1"
"@koa/router" "8.0.8"
bull "4.10.1"
joi "17.6.0"
node-fetch "^2.6.1"
"@budibase/types@2.1.22-alpha.0":
version "2.1.22-alpha.0"
resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.1.22-alpha.0.tgz#51c72726bff7b6af3096509e55d9ba006aac3c3e"
integrity sha512-fA+GsnyJqT4O78A9OhQTPje5yaL+RMvG23grJ+WSIUkZ+uRO83a29O7rBOFE4P4FldbsPEw1qHgt+e1wWrR+Uw==
"@budibase/types@2.1.22-alpha.1":
version "2.1.22-alpha.1"
resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.1.22-alpha.1.tgz#b3f8203a216904b9d5cae2032ab54425862fe18a"
integrity sha512-wuiIZ+4Yg6WcBShSKIbWvkqG+TQcu9kWXxcOL2/76dAq9W3QsuVml8xIjtC22F7SqSUCsWbwSvGioOkFJznDrg==
"@cspotcode/source-map-consumer@0.8.0":
version "0.8.0"