diff --git a/packages/bbui/src/Form/Core/Switch.svelte b/packages/bbui/src/Form/Core/Switch.svelte
index 0d40e67007..667b2ab871 100644
--- a/packages/bbui/src/Form/Core/Switch.svelte
+++ b/packages/bbui/src/Form/Core/Switch.svelte
@@ -6,6 +6,7 @@
export let id = null
export let text = null
export let disabled = false
+ export let dataCy = null
const dispatch = createEventDispatcher()
const onChange = event => {
@@ -15,6 +16,7 @@
{
@@ -18,5 +19,5 @@
-
+
diff --git a/packages/builder/cypress/integration/createAutomation.spec.js b/packages/builder/cypress/integration/createAutomation.spec.js
index 75611eff06..e82eeff670 100644
--- a/packages/builder/cypress/integration/createAutomation.spec.js
+++ b/packages/builder/cypress/integration/createAutomation.spec.js
@@ -29,10 +29,10 @@ context("Create a automation", () => {
cy.get(".setup").within(() => {
cy.get(".spectrum-Picker-label").click()
cy.contains("dog").click()
- cy.get("input")
+ cy.get(".spectrum-Textfield-input")
.first()
.type("goodboy")
- cy.get("input")
+ cy.get(".spectrum-Textfield-input")
.eq(1)
.type("11")
})
@@ -41,7 +41,7 @@ context("Create a automation", () => {
cy.contains("Save Automation").click()
// Activate Automation
- cy.get("[aria-label=PlayCircle]").click()
+ cy.get("[data-cy=activate-automation]").click()
})
it("should add row when a new row is added", () => {
diff --git a/packages/builder/src/components/automation/SetupPanel/SetupPanel.svelte b/packages/builder/src/components/automation/SetupPanel/SetupPanel.svelte
index ff3874a919..06a0df1afa 100644
--- a/packages/builder/src/components/automation/SetupPanel/SetupPanel.svelte
+++ b/packages/builder/src/components/automation/SetupPanel/SetupPanel.svelte
@@ -1,7 +1,7 @@
+
+
+
+
+
+
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..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
@@ -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
@@ -42,4 +43,8 @@ export default [
name: "Log Out",
component: LogOut,
},
+ {
+ name: "Clear Form",
+ component: ClearForm,
+ },
]
diff --git a/packages/builder/src/components/start/AppCard.svelte b/packages/builder/src/components/start/AppCard.svelte
index e41ffc4469..3e19bfa022 100644
--- a/packages/builder/src/components/start/AppCard.svelte
+++ b/packages/builder/src/components/start/AppCard.svelte
@@ -15,6 +15,7 @@
export let exportApp
export let viewApp
export let editApp
+ export let updateApp
export let deleteApp
export let unpublishApp
export let releaseLock
@@ -53,6 +54,9 @@
{/if}
{#if !app.deployed}
+
diff --git a/packages/builder/src/components/start/AppRow.svelte b/packages/builder/src/components/start/AppRow.svelte
index 85bad84376..f8ecbf3320 100644
--- a/packages/builder/src/components/start/AppRow.svelte
+++ b/packages/builder/src/components/start/AppRow.svelte
@@ -14,6 +14,7 @@
export let exportApp
export let viewApp
export let editApp
+ export let updateApp
export let deleteApp
export let unpublishApp
export let releaseLock
@@ -82,6 +83,7 @@
{/if}
{#if !app.deployed}
+
{/if}
diff --git a/packages/builder/src/components/start/UpdateAppModal.svelte b/packages/builder/src/components/start/UpdateAppModal.svelte
new file mode 100644
index 0000000000..dbbc000d1f
--- /dev/null
+++ b/packages/builder/src/components/start/UpdateAppModal.svelte
@@ -0,0 +1,111 @@
+
+
+
+
+
+ Give your new app a name, and choose which groups have access (paid plans
+ only).
+
+ ($touched.name = true)}
+ on:change={() => (dirty = true)}
+ label="Name"
+ />
+
+
diff --git a/packages/builder/src/pages/builder/portal/apps/index.svelte b/packages/builder/src/pages/builder/portal/apps/index.svelte
index 6c229c1980..aafe9b60c3 100644
--- a/packages/builder/src/pages/builder/portal/apps/index.svelte
+++ b/packages/builder/src/pages/builder/portal/apps/index.svelte
@@ -14,6 +14,7 @@
Body,
} from "@budibase/bbui"
import CreateAppModal from "components/start/CreateAppModal.svelte"
+ import UpdateAppModal from "components/start/UpdateAppModal.svelte"
import api, { del } from "builderStore/api"
import analytics from "analytics"
import { onMount } from "svelte"
@@ -30,6 +31,7 @@
let template
let selectedApp
let creationModal
+ let updatingModal
let deletionModal
let unpublishModal
let creatingApp = false
@@ -164,6 +166,11 @@
selectedApp = null
}
+ const updateApp = async app => {
+ selectedApp = app
+ updatingModal.show()
+ }
+
const releaseLock = async app => {
try {
const response = await del(`/api/dev/${app.devId}/lock`)
@@ -236,6 +243,7 @@
{editApp}
{exportApp}
{deleteApp}
+ {updateApp}
/>
{/each}
@@ -289,6 +297,8 @@
Are you sure you want to unpublish the app