From c6b1ea9a0fd69ff1d4d24708332fe2d670be3595 Mon Sep 17 00:00:00 2001
From: Christo
Date: Thu, 8 Jul 2021 14:38:49 +0200
Subject: [PATCH 01/60] Feat: Add collection fields as "extra" query config for
MongoDB
---
.../integration/ExtraQueryConfig.svelte | 48 +++++++
.../components/integration/QueryViewer.svelte | 17 +++
packages/server/src/api/routes/query.js | 2 +
packages/server/src/definitions/datasource.ts | 10 ++
packages/server/src/integrations/mongodb.ts | 125 ++++++++++++++++--
5 files changed, 191 insertions(+), 11 deletions(-)
create mode 100644 packages/builder/src/components/integration/ExtraQueryConfig.svelte
diff --git a/packages/builder/src/components/integration/ExtraQueryConfig.svelte b/packages/builder/src/components/integration/ExtraQueryConfig.svelte
new file mode 100644
index 0000000000..303beb1e4b
--- /dev/null
+++ b/packages/builder/src/components/integration/ExtraQueryConfig.svelte
@@ -0,0 +1,48 @@
+
+
+{#each extraFields as { key, displayName, type }}
+
+ {displayName}
+ {#if type === "string"}
+ populateExtraQuery(extraQueryFields)}
+ bind:value={extraQueryFields[key]}
+ />
+ {/if}
+
+ {#if type === "list"}
+ populateExtraQuery(extraQueryFields)}
+ bind:value={extraQueryFields[key]}
+ options={config[key].data[query.queryVerb]}
+ getOptionLabel={current => current}
+ />
+ {/if}
+
+{/each}
+
+
diff --git a/packages/builder/src/components/integration/QueryViewer.svelte b/packages/builder/src/components/integration/QueryViewer.svelte
index 5c2523d519..da93033cef 100644
--- a/packages/builder/src/components/integration/QueryViewer.svelte
+++ b/packages/builder/src/components/integration/QueryViewer.svelte
@@ -15,6 +15,7 @@
} from "@budibase/bbui"
import { notifications, Divider } from "@budibase/bbui"
import api from "builderStore/api"
+ import ExtraQueryConfig from "./ExtraQueryConfig.svelte"
import IntegrationQueryEditor from "components/integration/index.svelte"
import ExternalDataSourceTable from "components/backend/DataTable/ExternalDataSourceTable.svelte"
import ParameterBuilder from "components/integration/QueryParameterBuilder.svelte"
@@ -60,6 +61,14 @@
fields = fields
}
+ function resetDependentFields() {
+ if (query.fields.extra) query.fields.extra = {}
+ }
+
+ function populateExtraQuery(extraQueryFields) {
+ query.fields.extra = extraQueryFields
+ }
+
async function previewQuery() {
try {
const response = await api.post(`/api/queries/preview`, {
@@ -127,11 +136,19 @@
Function
queryConfig[verb]?.displayName || capitalise(verb)}
/>
+ {#if integrationInfo?.extra && query.queryVerb}
+
+ {/if}
{/if}
diff --git a/packages/server/src/api/routes/query.js b/packages/server/src/api/routes/query.js
index dd307c9444..2bbadcb40a 100644
--- a/packages/server/src/api/routes/query.js
+++ b/packages/server/src/api/routes/query.js
@@ -30,6 +30,7 @@ function generateQueryValidation() {
default: Joi.string().allow(""),
})),
queryVerb: Joi.string().allow().required(),
+ extra: Joi.object().optional(),
schema: Joi.object({}).required().unknown(true)
}))
}
@@ -39,6 +40,7 @@ function generateQueryPreviewValidation() {
return joiValidator.body(Joi.object({
fields: Joi.object().required(),
queryVerb: Joi.string().allow().required(),
+ extra: Joi.object().optional(),
datasourceId: Joi.string().required(),
parameters: Joi.object({}).required().unknown(true)
}))
diff --git a/packages/server/src/definitions/datasource.ts b/packages/server/src/definitions/datasource.ts
index 22f1998601..24d8144940 100644
--- a/packages/server/src/definitions/datasource.ts
+++ b/packages/server/src/definitions/datasource.ts
@@ -49,6 +49,15 @@ export interface QueryDefinition {
urlDisplay?: boolean
}
+export interface ExtraQueryConfig {
+ [key: string]: {
+ displayName: string,
+ type: string,
+ required: boolean
+ data?: object
+ }
+}
+
export interface Integration {
docs: string
plus?: boolean
@@ -58,6 +67,7 @@ export interface Integration {
query: {
[key: string]: QueryDefinition
}
+ extra?: ExtraQueryConfig
}
export interface SearchFilters {
diff --git a/packages/server/src/integrations/mongodb.ts b/packages/server/src/integrations/mongodb.ts
index af7b49153d..ab21da6fd0 100644
--- a/packages/server/src/integrations/mongodb.ts
+++ b/packages/server/src/integrations/mongodb.ts
@@ -10,7 +10,7 @@ module MongoDBModule {
interface MongoDBConfig {
connectionString: string
db: string
- collection: string
+ // collection: string
}
const SCHEMA: Integration = {
@@ -28,10 +28,6 @@ module MongoDBModule {
type: DatasourceFieldTypes.STRING,
required: true,
},
- collection: {
- type: DatasourceFieldTypes.STRING,
- required: true,
- },
},
query: {
create: {
@@ -40,7 +36,31 @@ module MongoDBModule {
read: {
type: QueryTypes.JSON,
},
+ update: {
+ type: QueryTypes.JSON,
+ },
+ delete: {
+ type: QueryTypes.JSON,
+ }
},
+ extra: {
+ collection: {
+ displayName: "Collection",
+ type: DatasourceFieldTypes.STRING,
+ required: true,
+ },
+ actionTypes: {
+ displayName: "Action Types",
+ type: DatasourceFieldTypes.LIST,
+ required: true,
+ data: {
+ read: ['find', 'findOne', 'findOneAndUpdate', "count", "distinct"],
+ create: ['insertOne', 'insertMany'],
+ update: ['updateOne', 'updateMany'],
+ delete: ['deleteOne', 'deleteMany']
+ }
+ }
+ }
}
class MongoIntegration {
@@ -56,12 +76,25 @@ module MongoDBModule {
return this.client.connect()
}
- async create(query: { json: object }) {
+ async create(query: { json: object, extra: { [key: string]: string } }) {
try {
await this.connect()
const db = this.client.db(this.config.db)
- const collection = db.collection(this.config.collection)
- return collection.insertOne(query.json)
+ const collection = db.collection(query.extra.collection)
+
+ // For mongodb we add an extra actionType to specify
+ // which method we want to call on the collection
+ switch(query.extra.actionTypes) {
+ case 'insertOne': {
+ return collection.insertOne(query.json)
+ }
+ case 'insertMany': {
+ return collection.insertOne(query.json).toArray()
+ }
+ default: {
+ throw new Error(`actionType ${query.extra.actionTypes} does not exist on DB for create`)
+ }
+ }
} catch (err) {
console.error("Error writing to mongodb", err)
throw err
@@ -70,12 +103,32 @@ module MongoDBModule {
}
}
- async read(query: { json: object }) {
+ async read(query: { json: object, extra: { [key: string]: string } }) {
try {
await this.connect()
const db = this.client.db(this.config.db)
- const collection = db.collection(this.config.collection)
- return collection.find(query.json).toArray()
+ const collection = db.collection(query.extra.collection)
+
+ switch(query.extra.actionTypes) {
+ case 'find': {
+ return collection.find(query.json).toArray()
+ }
+ case 'findOne': {
+ return collection.findOne(query.json)
+ }
+ case 'findOneAndUpdate': {
+ return collection.findOneAndUpdate(query.json)
+ }
+ case 'count': {
+ return collection.countDocuments(query.json)
+ }
+ case 'distinct': {
+ return collection.distinct(query.json)
+ }
+ default: {
+ throw new Error(`actionType ${query.extra.actionTypes} does not exist on DB for read`)
+ }
+ }
} catch (err) {
console.error("Error querying mongodb", err)
throw err
@@ -83,6 +136,56 @@ module MongoDBModule {
await this.client.close()
}
}
+
+ async update(query: { json: object, extra: { [key: string]: string } }) {
+ try {
+ await this.connect()
+ const db = this.client.db(this.config.db)
+ const collection = db.collection(query.extra.collection)
+
+ switch(query.extra.actionTypes) {
+ case 'updateOne': {
+ return collection.updateOne(query.json)
+ }
+ case 'updateMany': {
+ return collection.updateMany(query.json).toArray()
+ }
+ default: {
+ throw new Error(`actionType ${query.extra.actionTypes} does not exist on DB for update`)
+ }
+ }
+ } catch (err) {
+ console.error("Error writing to mongodb", err)
+ throw err
+ } finally {
+ await this.client.close()
+ }
+ }
+
+ async delete(query: { json: object, extra: { [key: string]: string } }) {
+ try {
+ await this.connect()
+ const db = this.client.db(this.config.db)
+ const collection = db.collection(query.extra.collection)
+
+ switch(query.extra.actionTypes) {
+ case 'deleteOne': {
+ return collection.deleteOne(query.json)
+ }
+ case 'deleteMany': {
+ return collection.deleteMany(query.json).toArray()
+ }
+ default: {
+ throw new Error(`actionType ${query.extra.actionTypes} does not exist on DB for delete`)
+ }
+ }
+ } catch (err) {
+ console.error("Error writing to mongodb", err)
+ throw err
+ } finally {
+ await this.client.close()
+ }
+ }
}
module.exports = {
From 4b48ea94e4ac377ee68184f3155c2bbea422fa79 Mon Sep 17 00:00:00 2001
From: Christo
Date: Fri, 9 Jul 2021 20:08:26 +0200
Subject: [PATCH 02/60] Test: Add some basic tests for mongodb queries
---
packages/server/__mocks__/mongodb.ts | 15 ++++++
.../src/integrations/tests/mongo.spec.js | 48 ++++++++++++++++++-
2 files changed, 61 insertions(+), 2 deletions(-)
diff --git a/packages/server/__mocks__/mongodb.ts b/packages/server/__mocks__/mongodb.ts
index d7d8f852c1..06eefefea6 100644
--- a/packages/server/__mocks__/mongodb.ts
+++ b/packages/server/__mocks__/mongodb.ts
@@ -5,11 +5,26 @@ module MongoMock {
this.connect = jest.fn()
this.close = jest.fn()
this.insertOne = jest.fn()
+ this.insertMany = jest.fn(() => ({toArray: () => []}))
this.find = jest.fn(() => ({toArray: () => []}))
+ this.findOne = jest.fn()
+ this.count = jest.fn()
+ this.deleteOne = jest.fn()
+ this.deleteMany = jest.fn(() => ({toArray: () => []}))
+ this.updateOne = jest.fn()
+ this.updateMany = jest.fn(() => ({toArray: () => []}))
+
this.collection = jest.fn(() => ({
insertOne: this.insertOne,
find: this.find,
+ insertMany: this.insertMany,
+ findOne: this.findOne,
+ count: this.count,
+ deleteOne: this.deleteOne,
+ deleteMany: this.deleteMany,
+ updateOne: this.updateOne,
+ updateMany: this.updateMany,
}))
this.db = () => ({
diff --git a/packages/server/src/integrations/tests/mongo.spec.js b/packages/server/src/integrations/tests/mongo.spec.js
index 1e37d5dd70..ce44617eb1 100644
--- a/packages/server/src/integrations/tests/mongo.spec.js
+++ b/packages/server/src/integrations/tests/mongo.spec.js
@@ -8,6 +8,13 @@ class TestConfiguration {
}
}
+function disableConsole() {
+ jest.spyOn(console, 'error');
+ console.error.mockImplementation(() => {});
+
+ return console.error.mockRestore;
+}
+
describe("MongoDB Integration", () => {
let config
let indexName = "Users"
@@ -22,7 +29,8 @@ describe("MongoDB Integration", () => {
}
const response = await config.integration.create({
index: indexName,
- json: body
+ json: body,
+ extra: { collection: 'testCollection', actionTypes: 'insertOne'}
})
expect(config.integration.client.insertOne).toHaveBeenCalledWith(body)
})
@@ -31,10 +39,46 @@ describe("MongoDB Integration", () => {
const query = {
json: {
address: "test"
- }
+ },
+ extra: { collection: 'testCollection', actionTypes: 'find'}
}
const response = await config.integration.read(query)
expect(config.integration.client.find).toHaveBeenCalledWith(query.json)
expect(response).toEqual(expect.any(Array))
})
+
+ it("calls the delete method with the correct params", async () => {
+ const query = {
+ json: {
+ id: "test"
+ },
+ extra: { collection: 'testCollection', actionTypes: 'deleteOne'}
+ }
+ const response = await config.integration.delete(query)
+ expect(config.integration.client.deleteOne).toHaveBeenCalledWith(query.json)
+ })
+
+ it("calls the update method with the correct params", async () => {
+ const query = {
+ json: {
+ id: "test"
+ },
+ extra: { collection: 'testCollection', actionTypes: 'updateOne'}
+ }
+ const response = await config.integration.update(query)
+ expect(config.integration.client.updateOne).toHaveBeenCalledWith(query.json)
+ })
+
+ it("throws an error when an invalid query.extra.actionType is passed for each method", async () => {
+ const restore = disableConsole()
+
+ const query = {
+ extra: { collection: 'testCollection', actionTypes: 'deleteOne'}
+ }
+ // Weird, need to do an IIFE for jest to recognize that it throws
+ expect(() => config.integration.read(query)()).toThrow(expect.any(Object))
+
+ restore()
+ })
+
})
\ No newline at end of file
From 78a653f2a6ed1e7f9743592bb7a084c567989454 Mon Sep 17 00:00:00 2001
From: seoulaja
Date: Mon, 26 Jul 2021 06:52:20 +0700
Subject: [PATCH 03/60] README.id.md translation
Bahasa Indonesia translation for Budibase README
---
i18n/README.id.md | 230 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 230 insertions(+)
create mode 100644 i18n/README.id.md
diff --git a/i18n/README.id.md b/i18n/README.id.md
new file mode 100644
index 0000000000..7f0229f345
--- /dev/null
+++ b/i18n/README.id.md
@@ -0,0 +1,230 @@
+
+
+
+
+
+
+ Budibase
+
+
+
+ Membangun, mengotomatisasi dan hosting sendiri aplikasi internal dalam hitungan menit
+
+
+ Budibase adalah sebuah platform low-code dengan sumber terbuka, bertujuan untuk membantu para developer dan professional IT, untuk membangun, mengotomatisasi, dan mengirimkan aplikasi internal di infrastruktur sendiri dalam waktu hitungan menit.
+
+
+
+ π€ π¨ π
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## β¨ Fitur-fitur
+
+- **Membangun dan mengirimkan software nyata.** Tidak seperti platform lain, dengan Budibase Anda membuat dan mengirimkan aplikasi-aplikasi satu halaman. Aplikasi-aplikasi Budibase memiliki kinerja yang matang dan dapat dirancang secara responsif, memberikan pengalaman yang menyenangkan bagi pengguna.
+
+- **Sumber terbuka dan dapat dikembangkan.** Budibase adalah platform dengan sumber terbuka - dilisensikan sebagai GPL v3. Ini akan membuat Anda yakin bahwa Budibase akan selalu ada. Anda juga dapat berkontribusi terhadap kode Budibase atau melakukan fork dan membuat perubahan sesuka Anda, memberikan pengalaman yang ramah developer.
+
+- **Muat data atau mulai dari awal.** Budibase menarik data dari berbagai sumber, termasuk MongoDB, CouchDB, PostgreSQL, mySQL, Airtable, S3, DyanmoDB, atau REST API. Dan tidak seperti platform lain, dengan Budibase Anda dapat memulai dari awal dan membuat aplikasi bisnis tanpa sumber data sekalipun. [Permintaan untuk sumber data baru](https://github.com/Budibase/budibase/discussions?discussions_q=category%3AIdeas).
+
+- **Rancang dan bangun aplikasi dengan komponen siap pakai yang kuat.** Budibase tersedia dengan siap pakai dan dirancang dengan indah, komponen-komponen kuat yang dapat anda gunakan layaknya blok penyusun untuk merancang UI Anda. Kami juga menyediakan banyak sekali pilihan-pilihan CSS favorit yang dapat digunakan sesuai dengan kreatifitas yang Anda inginkan. [Permintaan komponen baru [Permintaan untuk komponen baru](https://github.com/Budibase/budibase/discussions?discussions_q=category%3AIdeas).
+
+- **Otomatiskan proses, integrasikan dengan aplikasi lain, dan sambungkan ke webhook.** Menghemat waktu dengan mengotomatisasikan proses dan alur kerja yang masih dikerjakan secara manual. Dari menghubungkan ke webhooks, hingga mengotomatiasi email-email, cukup beritahu Budibase apa yang harus dilakukan dan biarkan dia berkerja untuk Anda. Anda bisa dengan mudah [membuat otomatisasi baru untuk Budibase disini ](https://github.com/Budibase/automations) atau [minta otomatisasi baru](https://github.com/Budibase/budibase/discussions?discussions_q=category%3AIdeas).
+
+- **Surga bagi Admin.** Budibase dibuat untuk berkembang. Dengan Budibase, Anda dapat menghosting sendiri di infrastruktrur Anda punya dan secara global mengelola para pengguna, orientasi, SMTP, aplikasi-aplikasi, grup-grup, tema, dan masih masih banyak lagi. Anda juga dapat menyediakan para pengguna/grup dengan sebuah aplikasi portal dan menyebarkan pengelolaan pengguna kepada manaajer grup.
+
+
+
+---
+
+
+
+## π Memulai
+Saat ini ada 2 cara untuk memulai Budibase, yaitu: Digital Ocean dan Docker.
+
+
+### Memulai Dengan Digital Ocean
+Cara paling mudah dan cepat untuk memulai adalah dengan menggunakan Digital Ocean:
+1-klik Digital Ocean deploy
+
+
+
+
+
+
+### Memulai dengan Docker
+Untuk memulai, Anda harus memiliki docker dan docker compose terinstal di mesin anda.
+Setelah Anda docker terinstal, prosesnya akan memakan waktu 5 menit, dengan empat langkah ini:
+
+1. Instal CLI Budibase.
+
+```
+$ npm i -g @budibase/cli
+```
+
+
+2. Mempersiapkan Budibase (pilih tempat menyimpan Budibase dan port untuk menjalankannya)
+
+```
+budi hosting --init
+```
+
+
+3. Jalankan Budibase
+
+```
+budi hosting --start
+```
+
+
+4. Buat pengguna admin Anda
+
+Masukkan surel dan sandi untuk admin baru.
+
+Selesai! Anda sekarang siap untuk membangun aplikasi internal yang mumpuni dalam hitungan menit. Untuk informasi tambahan tentang cara memulai dan mempelajari Budibase, kunjungi [dokumentasi](https://docs.budibase.com/getting-started) kami.
+
+
+
+---
+
+
+
+## π Belajar Budibase
+
+Dokumentasi Budibase [dapat dilihat disini](https://docs.budibase.com).
+
+
+---
+
+
+
+## π¬ Komunitas
+
+Jika Anda memiliki pertanyaan atau ingin berbicara dengan pengguna Budibase lainnya dan bergabung dengan komunitas kami, silakan kunjungi [Diskusi Github](https://github.com/Budibase/budibase/discussions)
+
+
+
+
+
+---
+
+
+
+## β Kode etik
+
+Budibase berdedikasi untuk memberikan pengalaman yang ramah, beragam, dan bebas pelecehan bagi semua orang. Kami mengharapkan semua orang di komunitas Budibase untuk mematuhi [**Kode etik**](https://github.com/Budibase/budibase/blob/HEAD/.github/CODE_OF_CONDUCT.md). Mohon dibac.
+
+
+---
+
+
+
+## π Berkontribusi untuk Budibase
+
+Dari membuka laporan bug hingga membuat pull request: setiap kontribusi dihargai dan disambut. Jika Anda berencana untuk menerapkan fitur baru atau mengubah API, harap buat issue terlebih dahulu. Dengan cara ini kami dapat memastikan pekerjaan Anda tidak sia-sia.
+
+### Tidak yakin memulai dari mana?
+Sebuat tempat yang baik untuk mulai berkontribusi, adalah [Masalah pertama di proyek](https://github.com/Budibase/budibase/projects/22).
+
+### Bagaimana repositori diatur
+Budibase adalah monorepo yang dikelola oleh lerna. Lerna mengelola pembangunan dan penerbitan paket budibase. Pada level tinggi, inilah paket-paket yang membentuk Budibase.
+
+- [packages/builder](https://github.com/Budibase/budibase/tree/HEAD/packages/builder) - berisi kode untuk aplikasi svelte sisi klien pembangun budibase.
+
+- [packages/client](https://github.com/Budibase/budibase/tree/HEAD/packages/client) - Modul yang berjalan di browser yang bertanggung jawab untuk membaca definisi JSON dan membuat aplikasi web yang hidup dan bernafas darinya.
+
+- [packages/server](https://github.com/Budibase/budibase/tree/HEAD/packages/server) - Server Budibase. Aplikasi Koa ini bertanggung jawab untuk melayani JS untuk aplikasi builder dan budibase, serta menyediakan API untuk interaksi dengan database dan sistem file.
+
+Untuk informasi lebih lanjut, lihat [CONTRIBUTING.md](https://github.com/Budibase/budibase/blob/HEAD/.github/CONTRIBUTING.md)
+
+
+---
+
+
+
+## π Lisensi
+
+Budibase adalah sumber terbuka, dilisensikan sebagai [GPL v3](https://www.gnu.org/licenses/gpl-3.0.en.html). Pustaka klien dan komponen dilisensikan sebagai [MPL](https://directory.fsf.org/wiki/License:MPL-2.0) - sehingga aplikasi yang Anda buat dapat dilisensikan sesuka Anda.
+
+
+---
+
+
+
+
+## β Stargazers over time
+
+[![Stargazers over time](https://starchart.cc/Budibase/budibase.svg)](https://starchart.cc/Budibase/budibase)
+
+Jika Anda mengalami masalah di antara pembaruan, silakan gunakan panduan [disini](https://github.com/Budibase/budibase/blob/HEAD/.github/CONTRIBUTING.md#troubleshooting) untuk membersihkan environment Anda.
+
+
+
+---
+
+
+
+## Kontributor β¨
+
+Terima kasih untuk orang-orang hebat ini ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
+
+
+
+
+
+
+
+
+
+
+
+This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
From 35d5a2d08298005ea60a748dfaaa6f42d05c8fb9 Mon Sep 17 00:00:00 2001
From: Maurits Lourens
Date: Mon, 26 Jul 2021 13:58:18 +0200
Subject: [PATCH 04/60] clear form action - draft
---
.../EventsEditor/actions/index.js | 3 ++
packages/client/src/constants.js | 1 +
packages/client/src/utils/buttonActions.js | 9 ++++++
.../src/forms/InnerForm.svelte | 28 +++++++++++++++++++
4 files changed, 41 insertions(+)
diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/EventsEditor/actions/index.js b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/EventsEditor/actions/index.js
index b8114461f9..2c9023714f 100644
--- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/EventsEditor/actions/index.js
+++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/EventsEditor/actions/index.js
@@ -42,4 +42,7 @@ export default [
name: "Log Out",
component: LogOut,
},
+ {
+ name: "Clear Form",
+ },
]
diff --git a/packages/client/src/constants.js b/packages/client/src/constants.js
index e0595c0ce9..049b16801b 100644
--- a/packages/client/src/constants.js
+++ b/packages/client/src/constants.js
@@ -6,6 +6,7 @@ export const ActionTypes = {
ValidateForm: "ValidateForm",
RefreshDatasource: "RefreshDatasource",
SetDataProviderQuery: "SetDataProviderQuery",
+ ClearForm: "ClearForm"
}
export const ApiVersion = "1"
diff --git a/packages/client/src/utils/buttonActions.js b/packages/client/src/utils/buttonActions.js
index af4826a1c4..d7707bfb11 100644
--- a/packages/client/src/utils/buttonActions.js
+++ b/packages/client/src/utils/buttonActions.js
@@ -77,6 +77,14 @@ const refreshDatasourceHandler = async (action, context) => {
)
}
+const clearFormHandler = async (action, context) => {
+ return await executeActionHandler(
+ context,
+ action.parameters.componentId,
+ ActionTypes.ClearForm
+ )
+}
+
const handlerMap = {
["Save Row"]: saveRowHandler,
["Delete Row"]: deleteRowHandler,
@@ -85,6 +93,7 @@ const handlerMap = {
["Trigger Automation"]: triggerAutomationHandler,
["Validate Form"]: validateFormHandler,
["Refresh Datasource"]: refreshDatasourceHandler,
+ ["Clear Form"]: clearFormHandler
}
const confirmTextMap = {
diff --git a/packages/standard-components/src/forms/InnerForm.svelte b/packages/standard-components/src/forms/InnerForm.svelte
index 3a63b63bdc..55e14217e1 100644
--- a/packages/standard-components/src/forms/InnerForm.svelte
+++ b/packages/standard-components/src/forms/InnerForm.svelte
@@ -64,6 +64,13 @@
})
return get(formState).valid
},
+ clear: () => {
+ const fields = Object.keys(fieldMap)
+ fields.forEach(field => {
+ const { fieldApi } = fieldMap[field]
+ fieldApi.clearValue();
+ })
+ }
}
// Provide both form API and state to children
@@ -72,6 +79,7 @@
// Action context to pass to children
const actions = [
{ type: ActionTypes.ValidateForm, callback: formApi.validate },
+ { type: ActionTypes.ClearForm, callback: formApi.clear },
]
// Creates an API for a specific field
@@ -108,8 +116,28 @@
return !newError
}
+
+ const clearValue = () => {
+ const { fieldState } = fieldMap[field]
+ fieldState.update(state => {
+ state.value = defaultValue
+ state.error = null
+ return state
+ })
+
+ formState.update(state => {
+ state.values = { ...state.values, [field]: defaultValue }
+ delete state.errors[field]
+ state.valid = Object.keys(state.errors).length === 0
+ return state
+ })
+
+ return true
+ }
+
return {
setValue,
+ clearValue,
validate: () => {
const { fieldState } = fieldMap[field]
setValue(get(fieldState).value, true)
From 82cc14ed5332fe891c12831186c2f1098605bad9 Mon Sep 17 00:00:00 2001
From: Maurits Lourens
Date: Mon, 26 Jul 2021 15:05:22 +0200
Subject: [PATCH 05/60] clear form action - adjust manifest and add settings
form
---
.../EventsEditor/actions/ClearForm.svelte | 35 +++++++++++++++++++
.../EventsEditor/actions/index.js | 2 ++
packages/standard-components/manifest.json | 3 +-
3 files changed, 39 insertions(+), 1 deletion(-)
create mode 100644 packages/builder/src/components/design/PropertiesPanel/PropertyControls/EventsEditor/actions/ClearForm.svelte
diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/EventsEditor/actions/ClearForm.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/EventsEditor/actions/ClearForm.svelte
new file mode 100644
index 0000000000..74eae6283c
--- /dev/null
+++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/EventsEditor/actions/ClearForm.svelte
@@ -0,0 +1,35 @@
+
+
+
+ Form
+ x._instanceName}
+ getOptionValue={x => x._id}
+ />
+
+
+
diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/EventsEditor/actions/index.js b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/EventsEditor/actions/index.js
index 2c9023714f..5ac594328f 100644
--- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/EventsEditor/actions/index.js
+++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/EventsEditor/actions/index.js
@@ -5,6 +5,7 @@ import ExecuteQuery from "./ExecuteQuery.svelte"
import TriggerAutomation from "./TriggerAutomation.svelte"
import ValidateForm from "./ValidateForm.svelte"
import LogOut from "./LogOut.svelte"
+import ClearForm from "./ClearForm.svelte"
// Defines which actions are available to configure in the front end.
// Unfortunately the "name" property is used as the identifier so please don't
@@ -44,5 +45,6 @@ export default [
},
{
name: "Clear Form",
+ component: ClearForm
},
]
diff --git a/packages/standard-components/manifest.json b/packages/standard-components/manifest.json
index 2410ba56b5..e0603c0f0b 100644
--- a/packages/standard-components/manifest.json
+++ b/packages/standard-components/manifest.json
@@ -1647,7 +1647,8 @@
"hasChildren": true,
"illegalChildren": ["section"],
"actions": [
- "ValidateForm"
+ "ValidateForm",
+ "ClearForm"
],
"styles": ["size"],
"settings": [
From d485e95e7bdcd278210a7439846c7b74723e5492 Mon Sep 17 00:00:00 2001
From: Maurits Lourens
Date: Mon, 26 Jul 2021 15:22:14 +0200
Subject: [PATCH 06/60] fix lint issues
---
.../PropertyControls/EventsEditor/actions/index.js | 2 +-
packages/client/src/constants.js | 2 +-
packages/client/src/utils/buttonActions.js | 2 +-
packages/standard-components/src/forms/InnerForm.svelte | 4 ++--
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/EventsEditor/actions/index.js b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/EventsEditor/actions/index.js
index 5ac594328f..bfbf97701b 100644
--- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/EventsEditor/actions/index.js
+++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/EventsEditor/actions/index.js
@@ -45,6 +45,6 @@ export default [
},
{
name: "Clear Form",
- component: ClearForm
+ component: ClearForm,
},
]
diff --git a/packages/client/src/constants.js b/packages/client/src/constants.js
index 049b16801b..7204b8c951 100644
--- a/packages/client/src/constants.js
+++ b/packages/client/src/constants.js
@@ -6,7 +6,7 @@ export const ActionTypes = {
ValidateForm: "ValidateForm",
RefreshDatasource: "RefreshDatasource",
SetDataProviderQuery: "SetDataProviderQuery",
- ClearForm: "ClearForm"
+ ClearForm: "ClearForm",
}
export const ApiVersion = "1"
diff --git a/packages/client/src/utils/buttonActions.js b/packages/client/src/utils/buttonActions.js
index 9dd32561d7..ea29180d36 100644
--- a/packages/client/src/utils/buttonActions.js
+++ b/packages/client/src/utils/buttonActions.js
@@ -103,7 +103,7 @@ const handlerMap = {
["Validate Form"]: validateFormHandler,
["Refresh Datasource"]: refreshDatasourceHandler,
["Log Out"]: logoutHandler,
- ["Clear Form"]: clearFormHandler
+ ["Clear Form"]: clearFormHandler,
}
const confirmTextMap = {
diff --git a/packages/standard-components/src/forms/InnerForm.svelte b/packages/standard-components/src/forms/InnerForm.svelte
index 55e14217e1..cd135c1551 100644
--- a/packages/standard-components/src/forms/InnerForm.svelte
+++ b/packages/standard-components/src/forms/InnerForm.svelte
@@ -68,9 +68,9 @@
const fields = Object.keys(fieldMap)
fields.forEach(field => {
const { fieldApi } = fieldMap[field]
- fieldApi.clearValue();
+ fieldApi.clearValue()
})
- }
+ },
}
// Provide both form API and state to children
From e2de45db23f43f91f3538b1a38900ceb37098bdd Mon Sep 17 00:00:00 2001
From: Maurits Lourens
Date: Mon, 26 Jul 2021 17:01:29 +0200
Subject: [PATCH 07/60] implement review comments
---
packages/standard-components/src/forms/InnerForm.svelte | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/packages/standard-components/src/forms/InnerForm.svelte b/packages/standard-components/src/forms/InnerForm.svelte
index cd135c1551..05ef468165 100644
--- a/packages/standard-components/src/forms/InnerForm.svelte
+++ b/packages/standard-components/src/forms/InnerForm.svelte
@@ -119,20 +119,19 @@
const clearValue = () => {
const { fieldState } = fieldMap[field]
+ const newValue = initialValues[field] ?? defaultValue;
fieldState.update(state => {
- state.value = defaultValue
+ state.value = newValue
state.error = null
return state
})
formState.update(state => {
- state.values = { ...state.values, [field]: defaultValue }
+ state.values = { ...state.values, [field]: newValue }
delete state.errors[field]
state.valid = Object.keys(state.errors).length === 0
return state
})
-
- return true
}
return {
From 01d9a86946745bc7e4083d3baf147af1575290b9 Mon Sep 17 00:00:00 2001
From: Maurits Lourens
Date: Mon, 26 Jul 2021 17:47:53 +0200
Subject: [PATCH 08/60] fix lint issue
---
packages/standard-components/src/forms/InnerForm.svelte | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/standard-components/src/forms/InnerForm.svelte b/packages/standard-components/src/forms/InnerForm.svelte
index 05ef468165..f6fadfa5cb 100644
--- a/packages/standard-components/src/forms/InnerForm.svelte
+++ b/packages/standard-components/src/forms/InnerForm.svelte
@@ -119,7 +119,7 @@
const clearValue = () => {
const { fieldState } = fieldMap[field]
- const newValue = initialValues[field] ?? defaultValue;
+ const newValue = initialValues[field] ?? defaultValue
fieldState.update(state => {
state.value = newValue
state.error = null
From 0931cac304558989d19fbfc30341ab3378110e17 Mon Sep 17 00:00:00 2001
From: "allcontributors[bot]"
<46447321+allcontributors[bot]@users.noreply.github.com>
Date: Tue, 27 Jul 2021 08:38:41 +0000
Subject: [PATCH 09/60] docs: update README.md [skip ci]
---
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
index 2e6b446ad7..7568da89d6 100644
--- a/README.md
+++ b/README.md
@@ -219,6 +219,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
victoriasloan π»
yashank09 π»
SOVLOOKUP π»
+ seoulaja π
From 328d1a5d1894bc28812baa8a408536bedaa4f78e Mon Sep 17 00:00:00 2001
From: "allcontributors[bot]"
<46447321+allcontributors[bot]@users.noreply.github.com>
Date: Tue, 27 Jul 2021 08:38:42 +0000
Subject: [PATCH 10/60] docs: update .all-contributorsrc [skip ci]
---
.all-contributorsrc | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/.all-contributorsrc b/.all-contributorsrc
index a0fc11c438..1a789d5aa4 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -130,6 +130,15 @@
"contributions": [
"code"
]
+ },
+ {
+ "login": "seoulaja",
+ "name": "seoulaja",
+ "avatar_url": "https://avatars.githubusercontent.com/u/15101654?v=4",
+ "profile": "https://github.com/seoulaja",
+ "contributions": [
+ "translation"
+ ]
}
],
"contributorsPerLine": 7,
From 37e2aff0d4e37089956338fcd5299e9a82a3f9fc Mon Sep 17 00:00:00 2001
From: "allcontributors[bot]"
<46447321+allcontributors[bot]@users.noreply.github.com>
Date: Tue, 27 Jul 2021 08:41:35 +0000
Subject: [PATCH 11/60] docs: update README.md [skip ci]
---
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
index 2e6b446ad7..e6084bc817 100644
--- a/README.md
+++ b/README.md
@@ -219,6 +219,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
victoriasloan π»
yashank09 π»
SOVLOOKUP π»
+ Maurits Lourens β οΈ π»
From 017acb6c66330ab4d1d43449172a094766d85d50 Mon Sep 17 00:00:00 2001
From: "allcontributors[bot]"
<46447321+allcontributors[bot]@users.noreply.github.com>
Date: Tue, 27 Jul 2021 08:41:36 +0000
Subject: [PATCH 12/60] docs: update .all-contributorsrc [skip ci]
---
.all-contributorsrc | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/.all-contributorsrc b/.all-contributorsrc
index a0fc11c438..502eb0589b 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -130,6 +130,16 @@
"contributions": [
"code"
]
+ },
+ {
+ "login": "mslourens",
+ "name": "Maurits Lourens",
+ "avatar_url": "https://avatars.githubusercontent.com/u/1907152?v=4",
+ "profile": "https://github.com/mslourens",
+ "contributions": [
+ "test",
+ "code"
+ ]
}
],
"contributorsPerLine": 7,
From 1c70adc563f997038ab9ae0de08de06e61423841 Mon Sep 17 00:00:00 2001
From: "allcontributors[bot]"
<46447321+allcontributors[bot]@users.noreply.github.com>
Date: Tue, 27 Jul 2021 08:44:11 +0000
Subject: [PATCH 13/60] docs: update README.md [skip ci]
---
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
index 2e6b446ad7..0e859c611d 100644
--- a/README.md
+++ b/README.md
@@ -219,6 +219,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
victoriasloan π»
yashank09 π»
SOVLOOKUP π»
+ Rory Powell π β οΈ π»
From 9502127ae5da192a8a0147f00ec18f8eebba8841 Mon Sep 17 00:00:00 2001
From: "allcontributors[bot]"
<46447321+allcontributors[bot]@users.noreply.github.com>
Date: Tue, 27 Jul 2021 08:44:13 +0000
Subject: [PATCH 14/60] docs: update .all-contributorsrc [skip ci]
---
.all-contributorsrc | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/.all-contributorsrc b/.all-contributorsrc
index a0fc11c438..773b2cf5ca 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -130,6 +130,17 @@
"contributions": [
"code"
]
+ },
+ {
+ "login": "Rory-Powell",
+ "name": "Rory Powell",
+ "avatar_url": "https://avatars.githubusercontent.com/u/8755148?v=4",
+ "profile": "https://github.com/Rory-Powell",
+ "contributions": [
+ "infra",
+ "test",
+ "code"
+ ]
}
],
"contributorsPerLine": 7,
From 805464b47492ef5f43b11b6e1df485936dd45347 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Tue, 27 Jul 2021 09:07:05 +0000
Subject: [PATCH 15/60] v0.9.80
---
lerna.json | 2 +-
packages/auth/package.json | 2 +-
packages/bbui/package.json | 2 +-
packages/builder/package.json | 8 ++++----
packages/cli/package.json | 2 +-
packages/client/package.json | 8 ++++----
packages/server/package.json | 10 +++++-----
packages/standard-components/package.json | 4 ++--
packages/string-templates/package.json | 2 +-
packages/worker/package.json | 6 +++---
10 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/lerna.json b/lerna.json
index f29f399e1b..8f3ab18205 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
{
- "version": "0.9.79",
+ "version": "0.9.80",
"npmClient": "yarn",
"packages": [
"packages/*"
diff --git a/packages/auth/package.json b/packages/auth/package.json
index e531ec9f9c..f08e62b207 100644
--- a/packages/auth/package.json
+++ b/packages/auth/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/auth",
- "version": "0.9.79",
+ "version": "0.9.80",
"description": "Authentication middlewares for budibase builder and apps",
"main": "src/index.js",
"author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 0122faded8..6d2a5f7eb7 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
{
"name": "@budibase/bbui",
"description": "A UI solution used in the different Budibase projects.",
- "version": "0.9.79",
+ "version": "0.9.80",
"license": "AGPL-3.0",
"svelte": "src/index.js",
"module": "dist/bbui.es.js",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 3c1f19f403..f0caf05312 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/builder",
- "version": "0.9.79",
+ "version": "0.9.80",
"license": "AGPL-3.0",
"private": true,
"scripts": {
@@ -65,10 +65,10 @@
}
},
"dependencies": {
- "@budibase/bbui": "^0.9.79",
- "@budibase/client": "^0.9.79",
+ "@budibase/bbui": "^0.9.80",
+ "@budibase/client": "^0.9.80",
"@budibase/colorpicker": "1.1.2",
- "@budibase/string-templates": "^0.9.79",
+ "@budibase/string-templates": "^0.9.80",
"@sentry/browser": "5.19.1",
"@spectrum-css/page": "^3.0.1",
"@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index b611191b72..13bd4749ef 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/cli",
- "version": "0.9.79",
+ "version": "0.9.80",
"description": "Budibase CLI, for developers, self hosting and migrations.",
"main": "src/index.js",
"bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 38e36e4a14..f1472c9139 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/client",
- "version": "0.9.79",
+ "version": "0.9.80",
"license": "MPL-2.0",
"module": "dist/budibase-client.js",
"main": "dist/budibase-client.js",
@@ -18,9 +18,9 @@
"dev:builder": "rollup -cw"
},
"dependencies": {
- "@budibase/bbui": "^0.9.79",
- "@budibase/standard-components": "^0.9.79",
- "@budibase/string-templates": "^0.9.79",
+ "@budibase/bbui": "^0.9.80",
+ "@budibase/standard-components": "^0.9.80",
+ "@budibase/string-templates": "^0.9.80",
"regexparam": "^1.3.0",
"shortid": "^2.2.15",
"svelte-spa-router": "^3.0.5"
diff --git a/packages/server/package.json b/packages/server/package.json
index cc1250b53e..cf745a7896 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
{
"name": "@budibase/server",
"email": "hi@budibase.com",
- "version": "0.9.79",
+ "version": "0.9.80",
"description": "Budibase Web Server",
"main": "src/index.js",
"repository": {
@@ -59,9 +59,9 @@
"author": "Budibase",
"license": "AGPL-3.0-or-later",
"dependencies": {
- "@budibase/auth": "^0.9.79",
- "@budibase/client": "^0.9.79",
- "@budibase/string-templates": "^0.9.79",
+ "@budibase/auth": "^0.9.80",
+ "@budibase/client": "^0.9.80",
+ "@budibase/string-templates": "^0.9.80",
"@elastic/elasticsearch": "7.10.0",
"@koa/router": "8.0.0",
"@sendgrid/mail": "7.1.1",
@@ -114,7 +114,7 @@
"devDependencies": {
"@babel/core": "^7.14.3",
"@babel/preset-env": "^7.14.4",
- "@budibase/standard-components": "^0.9.79",
+ "@budibase/standard-components": "^0.9.80",
"@jest/test-sequencer": "^24.8.0",
"@types/bull": "^3.15.1",
"@types/jest": "^26.0.23",
diff --git a/packages/standard-components/package.json b/packages/standard-components/package.json
index 9e39c123ec..0bef8c476f 100644
--- a/packages/standard-components/package.json
+++ b/packages/standard-components/package.json
@@ -29,11 +29,11 @@
"keywords": [
"svelte"
],
- "version": "0.9.79",
+ "version": "0.9.80",
"license": "MIT",
"gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc",
"dependencies": {
- "@budibase/bbui": "^0.9.79",
+ "@budibase/bbui": "^0.9.80",
"@spectrum-css/link": "^3.1.3",
"@spectrum-css/page": "^3.0.1",
"@spectrum-css/vars": "^3.0.1",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 54263ee7ec..fb4131e2e3 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/string-templates",
- "version": "0.9.79",
+ "version": "0.9.80",
"description": "Handlebars wrapper for Budibase templating.",
"main": "src/index.cjs",
"module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index d9580b9086..6b0b152346 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
{
"name": "@budibase/worker",
"email": "hi@budibase.com",
- "version": "0.9.79",
+ "version": "0.9.80",
"description": "Budibase background service",
"main": "src/index.js",
"repository": {
@@ -21,8 +21,8 @@
"author": "Budibase",
"license": "AGPL-3.0-or-later",
"dependencies": {
- "@budibase/auth": "^0.9.79",
- "@budibase/string-templates": "^0.9.79",
+ "@budibase/auth": "^0.9.80",
+ "@budibase/string-templates": "^0.9.80",
"@koa/router": "^8.0.0",
"aws-sdk": "^2.811.0",
"bcryptjs": "^2.4.3",
From 03acad2d898bdea9b34f1a7fbb177869c3463740 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Tue, 27 Jul 2021 09:20:57 +0000
Subject: [PATCH 16/60] v0.9.81
---
lerna.json | 2 +-
packages/auth/package.json | 2 +-
packages/bbui/package.json | 2 +-
packages/builder/package.json | 8 ++++----
packages/cli/package.json | 2 +-
packages/client/package.json | 8 ++++----
packages/server/package.json | 10 +++++-----
packages/standard-components/package.json | 4 ++--
packages/string-templates/package.json | 2 +-
packages/worker/package.json | 6 +++---
10 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/lerna.json b/lerna.json
index 8f3ab18205..8a425edc42 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
{
- "version": "0.9.80",
+ "version": "0.9.81",
"npmClient": "yarn",
"packages": [
"packages/*"
diff --git a/packages/auth/package.json b/packages/auth/package.json
index f08e62b207..4fdbd242d1 100644
--- a/packages/auth/package.json
+++ b/packages/auth/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/auth",
- "version": "0.9.80",
+ "version": "0.9.81",
"description": "Authentication middlewares for budibase builder and apps",
"main": "src/index.js",
"author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 6d2a5f7eb7..01ac761e80 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
{
"name": "@budibase/bbui",
"description": "A UI solution used in the different Budibase projects.",
- "version": "0.9.80",
+ "version": "0.9.81",
"license": "AGPL-3.0",
"svelte": "src/index.js",
"module": "dist/bbui.es.js",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index f0caf05312..5fae915c1f 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/builder",
- "version": "0.9.80",
+ "version": "0.9.81",
"license": "AGPL-3.0",
"private": true,
"scripts": {
@@ -65,10 +65,10 @@
}
},
"dependencies": {
- "@budibase/bbui": "^0.9.80",
- "@budibase/client": "^0.9.80",
+ "@budibase/bbui": "^0.9.81",
+ "@budibase/client": "^0.9.81",
"@budibase/colorpicker": "1.1.2",
- "@budibase/string-templates": "^0.9.80",
+ "@budibase/string-templates": "^0.9.81",
"@sentry/browser": "5.19.1",
"@spectrum-css/page": "^3.0.1",
"@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 13bd4749ef..177218e607 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/cli",
- "version": "0.9.80",
+ "version": "0.9.81",
"description": "Budibase CLI, for developers, self hosting and migrations.",
"main": "src/index.js",
"bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index f1472c9139..a7fdd5c0ed 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/client",
- "version": "0.9.80",
+ "version": "0.9.81",
"license": "MPL-2.0",
"module": "dist/budibase-client.js",
"main": "dist/budibase-client.js",
@@ -18,9 +18,9 @@
"dev:builder": "rollup -cw"
},
"dependencies": {
- "@budibase/bbui": "^0.9.80",
- "@budibase/standard-components": "^0.9.80",
- "@budibase/string-templates": "^0.9.80",
+ "@budibase/bbui": "^0.9.81",
+ "@budibase/standard-components": "^0.9.81",
+ "@budibase/string-templates": "^0.9.81",
"regexparam": "^1.3.0",
"shortid": "^2.2.15",
"svelte-spa-router": "^3.0.5"
diff --git a/packages/server/package.json b/packages/server/package.json
index cf745a7896..fbc1cde6c6 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
{
"name": "@budibase/server",
"email": "hi@budibase.com",
- "version": "0.9.80",
+ "version": "0.9.81",
"description": "Budibase Web Server",
"main": "src/index.js",
"repository": {
@@ -59,9 +59,9 @@
"author": "Budibase",
"license": "AGPL-3.0-or-later",
"dependencies": {
- "@budibase/auth": "^0.9.80",
- "@budibase/client": "^0.9.80",
- "@budibase/string-templates": "^0.9.80",
+ "@budibase/auth": "^0.9.81",
+ "@budibase/client": "^0.9.81",
+ "@budibase/string-templates": "^0.9.81",
"@elastic/elasticsearch": "7.10.0",
"@koa/router": "8.0.0",
"@sendgrid/mail": "7.1.1",
@@ -114,7 +114,7 @@
"devDependencies": {
"@babel/core": "^7.14.3",
"@babel/preset-env": "^7.14.4",
- "@budibase/standard-components": "^0.9.80",
+ "@budibase/standard-components": "^0.9.81",
"@jest/test-sequencer": "^24.8.0",
"@types/bull": "^3.15.1",
"@types/jest": "^26.0.23",
diff --git a/packages/standard-components/package.json b/packages/standard-components/package.json
index 0bef8c476f..44ea1fd48a 100644
--- a/packages/standard-components/package.json
+++ b/packages/standard-components/package.json
@@ -29,11 +29,11 @@
"keywords": [
"svelte"
],
- "version": "0.9.80",
+ "version": "0.9.81",
"license": "MIT",
"gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc",
"dependencies": {
- "@budibase/bbui": "^0.9.80",
+ "@budibase/bbui": "^0.9.81",
"@spectrum-css/link": "^3.1.3",
"@spectrum-css/page": "^3.0.1",
"@spectrum-css/vars": "^3.0.1",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index fb4131e2e3..a9d230e58a 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/string-templates",
- "version": "0.9.80",
+ "version": "0.9.81",
"description": "Handlebars wrapper for Budibase templating.",
"main": "src/index.cjs",
"module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 6b0b152346..2757f47485 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
{
"name": "@budibase/worker",
"email": "hi@budibase.com",
- "version": "0.9.80",
+ "version": "0.9.81",
"description": "Budibase background service",
"main": "src/index.js",
"repository": {
@@ -21,8 +21,8 @@
"author": "Budibase",
"license": "AGPL-3.0-or-later",
"dependencies": {
- "@budibase/auth": "^0.9.80",
- "@budibase/string-templates": "^0.9.80",
+ "@budibase/auth": "^0.9.81",
+ "@budibase/string-templates": "^0.9.81",
"@koa/router": "^8.0.0",
"aws-sdk": "^2.811.0",
"bcryptjs": "^2.4.3",
From 10180ba2775a0b5bd63d42cc17382b6d3b7db119 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Tue, 27 Jul 2021 11:01:29 +0000
Subject: [PATCH 17/60] v0.9.82
---
lerna.json | 2 +-
packages/auth/package.json | 2 +-
packages/bbui/package.json | 2 +-
packages/builder/package.json | 8 ++++----
packages/cli/package.json | 2 +-
packages/client/package.json | 8 ++++----
packages/server/package.json | 10 +++++-----
packages/standard-components/package.json | 4 ++--
packages/string-templates/package.json | 2 +-
packages/worker/package.json | 6 +++---
10 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/lerna.json b/lerna.json
index 8a425edc42..b18463a8b9 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
{
- "version": "0.9.81",
+ "version": "0.9.82",
"npmClient": "yarn",
"packages": [
"packages/*"
diff --git a/packages/auth/package.json b/packages/auth/package.json
index 4fdbd242d1..80acc688cb 100644
--- a/packages/auth/package.json
+++ b/packages/auth/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/auth",
- "version": "0.9.81",
+ "version": "0.9.82",
"description": "Authentication middlewares for budibase builder and apps",
"main": "src/index.js",
"author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 01ac761e80..9a6bf8e64b 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
{
"name": "@budibase/bbui",
"description": "A UI solution used in the different Budibase projects.",
- "version": "0.9.81",
+ "version": "0.9.82",
"license": "AGPL-3.0",
"svelte": "src/index.js",
"module": "dist/bbui.es.js",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 5fae915c1f..27d9e07476 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/builder",
- "version": "0.9.81",
+ "version": "0.9.82",
"license": "AGPL-3.0",
"private": true,
"scripts": {
@@ -65,10 +65,10 @@
}
},
"dependencies": {
- "@budibase/bbui": "^0.9.81",
- "@budibase/client": "^0.9.81",
+ "@budibase/bbui": "^0.9.82",
+ "@budibase/client": "^0.9.82",
"@budibase/colorpicker": "1.1.2",
- "@budibase/string-templates": "^0.9.81",
+ "@budibase/string-templates": "^0.9.82",
"@sentry/browser": "5.19.1",
"@spectrum-css/page": "^3.0.1",
"@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 177218e607..6c953baa73 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/cli",
- "version": "0.9.81",
+ "version": "0.9.82",
"description": "Budibase CLI, for developers, self hosting and migrations.",
"main": "src/index.js",
"bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index a7fdd5c0ed..f80a81104a 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/client",
- "version": "0.9.81",
+ "version": "0.9.82",
"license": "MPL-2.0",
"module": "dist/budibase-client.js",
"main": "dist/budibase-client.js",
@@ -18,9 +18,9 @@
"dev:builder": "rollup -cw"
},
"dependencies": {
- "@budibase/bbui": "^0.9.81",
- "@budibase/standard-components": "^0.9.81",
- "@budibase/string-templates": "^0.9.81",
+ "@budibase/bbui": "^0.9.82",
+ "@budibase/standard-components": "^0.9.82",
+ "@budibase/string-templates": "^0.9.82",
"regexparam": "^1.3.0",
"shortid": "^2.2.15",
"svelte-spa-router": "^3.0.5"
diff --git a/packages/server/package.json b/packages/server/package.json
index fbc1cde6c6..8e093259f5 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
{
"name": "@budibase/server",
"email": "hi@budibase.com",
- "version": "0.9.81",
+ "version": "0.9.82",
"description": "Budibase Web Server",
"main": "src/index.js",
"repository": {
@@ -59,9 +59,9 @@
"author": "Budibase",
"license": "AGPL-3.0-or-later",
"dependencies": {
- "@budibase/auth": "^0.9.81",
- "@budibase/client": "^0.9.81",
- "@budibase/string-templates": "^0.9.81",
+ "@budibase/auth": "^0.9.82",
+ "@budibase/client": "^0.9.82",
+ "@budibase/string-templates": "^0.9.82",
"@elastic/elasticsearch": "7.10.0",
"@koa/router": "8.0.0",
"@sendgrid/mail": "7.1.1",
@@ -114,7 +114,7 @@
"devDependencies": {
"@babel/core": "^7.14.3",
"@babel/preset-env": "^7.14.4",
- "@budibase/standard-components": "^0.9.81",
+ "@budibase/standard-components": "^0.9.82",
"@jest/test-sequencer": "^24.8.0",
"@types/bull": "^3.15.1",
"@types/jest": "^26.0.23",
diff --git a/packages/standard-components/package.json b/packages/standard-components/package.json
index 44ea1fd48a..c1fa6b7b5b 100644
--- a/packages/standard-components/package.json
+++ b/packages/standard-components/package.json
@@ -29,11 +29,11 @@
"keywords": [
"svelte"
],
- "version": "0.9.81",
+ "version": "0.9.82",
"license": "MIT",
"gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc",
"dependencies": {
- "@budibase/bbui": "^0.9.81",
+ "@budibase/bbui": "^0.9.82",
"@spectrum-css/link": "^3.1.3",
"@spectrum-css/page": "^3.0.1",
"@spectrum-css/vars": "^3.0.1",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index a9d230e58a..d63e8c8282 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/string-templates",
- "version": "0.9.81",
+ "version": "0.9.82",
"description": "Handlebars wrapper for Budibase templating.",
"main": "src/index.cjs",
"module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 2757f47485..fbed77a839 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
{
"name": "@budibase/worker",
"email": "hi@budibase.com",
- "version": "0.9.81",
+ "version": "0.9.82",
"description": "Budibase background service",
"main": "src/index.js",
"repository": {
@@ -21,8 +21,8 @@
"author": "Budibase",
"license": "AGPL-3.0-or-later",
"dependencies": {
- "@budibase/auth": "^0.9.81",
- "@budibase/string-templates": "^0.9.81",
+ "@budibase/auth": "^0.9.82",
+ "@budibase/string-templates": "^0.9.82",
"@koa/router": "^8.0.0",
"aws-sdk": "^2.811.0",
"bcryptjs": "^2.4.3",
From 6c0e9c76d808865ee86df941da4aabbfad9139e4 Mon Sep 17 00:00:00 2001
From: seoulaja
Date: Tue, 27 Jul 2021 19:06:11 +0700
Subject: [PATCH 18/60] Update README.id.md
Fix typos and enhance the translation
---
i18n/README.id.md | 46 +++++++++++++++++++++++-----------------------
1 file changed, 23 insertions(+), 23 deletions(-)
diff --git a/i18n/README.id.md b/i18n/README.id.md
index 7f0229f345..d4a25f569c 100644
--- a/i18n/README.id.md
+++ b/i18n/README.id.md
@@ -8,10 +8,10 @@
- Membangun, mengotomatisasi dan hosting sendiri aplikasi internal dalam hitungan menit
+ Membangun, mengotomatisasi dan hosting sendiri aplikasi internal dalam hitungan menit
- Budibase adalah sebuah platform low-code dengan sumber terbuka, bertujuan untuk membantu para developer dan professional IT, untuk membangun, mengotomatisasi, dan mengirimkan aplikasi internal di infrastruktur sendiri dalam waktu hitungan menit.
+ Budibase adalah sebuah platform low-code dengan sumber terbuka, bertujuan untuk membantu para developer dan professional IT, untuk membangun, mengotomatisasi, dan mengirimkan aplikasi internal di infrastruktur sendiri dalam waktu hitungan menit.
@@ -39,7 +39,7 @@