Give up on attempting to get jest to work with BBUI, change strategy for showing notifications when deleting invalid components
This commit is contained in:
parent
6e9736e79b
commit
cf91990125
|
@ -8,7 +8,6 @@ import {
|
||||||
selectedComponent,
|
selectedComponent,
|
||||||
selectedAccessRole,
|
selectedAccessRole,
|
||||||
} from "builderStore"
|
} from "builderStore"
|
||||||
import { notifications } from "@budibase/bbui"
|
|
||||||
import {
|
import {
|
||||||
datasources,
|
datasources,
|
||||||
integrations,
|
integrations,
|
||||||
|
@ -16,7 +15,6 @@ import {
|
||||||
database,
|
database,
|
||||||
tables,
|
tables,
|
||||||
} from "stores/backend"
|
} from "stores/backend"
|
||||||
|
|
||||||
import { fetchComponentLibDefinitions } from "../loadComponentLibraries"
|
import { fetchComponentLibDefinitions } from "../loadComponentLibraries"
|
||||||
import api from "../api"
|
import api from "../api"
|
||||||
import { FrontendTypes } from "constants"
|
import { FrontendTypes } from "constants"
|
||||||
|
@ -472,8 +470,7 @@ export const getFrontendStore = () => {
|
||||||
|
|
||||||
// Ensure we aren't deleting the screen slot
|
// Ensure we aren't deleting the screen slot
|
||||||
if (component._component?.endsWith("/screenslot")) {
|
if (component._component?.endsWith("/screenslot")) {
|
||||||
notifications.error("You can't delete the screen slot")
|
throw "You can't delete the screen slot"
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure we aren't deleting something that contains the screen slot
|
// Ensure we aren't deleting something that contains the screen slot
|
||||||
|
@ -482,10 +479,7 @@ export const getFrontendStore = () => {
|
||||||
"@budibase/standard-components/screenslot"
|
"@budibase/standard-components/screenslot"
|
||||||
)
|
)
|
||||||
if (screenslot != null) {
|
if (screenslot != null) {
|
||||||
notifications.error(
|
throw "You can't delete a component that contains the screen slot"
|
||||||
"You can't delete a component that contains the screen slot"
|
|
||||||
)
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const parent = findComponentParent(asset.props, component._id)
|
const parent = findComponentParent(asset.props, component._id)
|
||||||
|
|
|
@ -6,7 +6,13 @@
|
||||||
import { Screen } from "builderStore/store/screenTemplates/utils/Screen"
|
import { Screen } from "builderStore/store/screenTemplates/utils/Screen"
|
||||||
import { FrontendTypes } from "constants"
|
import { FrontendTypes } from "constants"
|
||||||
import ConfirmDialog from "components/common/ConfirmDialog.svelte"
|
import ConfirmDialog from "components/common/ConfirmDialog.svelte"
|
||||||
import { ProgressCircle, Layout, Heading, Body } from "@budibase/bbui"
|
import {
|
||||||
|
ProgressCircle,
|
||||||
|
Layout,
|
||||||
|
Heading,
|
||||||
|
Body,
|
||||||
|
notifications,
|
||||||
|
} from "@budibase/bbui"
|
||||||
import ErrorSVG from "assets/error.svg?raw"
|
import ErrorSVG from "assets/error.svg?raw"
|
||||||
import { findComponent, findComponentPath } from "builderStore/storeUtils"
|
import { findComponent, findComponentPath } from "builderStore/storeUtils"
|
||||||
|
|
||||||
|
@ -166,10 +172,15 @@
|
||||||
confirmDeleteDialog.show()
|
confirmDeleteDialog.show()
|
||||||
}
|
}
|
||||||
|
|
||||||
const deleteComponent = () => {
|
const deleteComponent = async () => {
|
||||||
store.actions.components.delete({ _id: idToDelete })
|
try {
|
||||||
|
await store.actions.components.delete({ _id: idToDelete })
|
||||||
|
} catch (error) {
|
||||||
|
notifications.error(error)
|
||||||
|
}
|
||||||
idToDelete = null
|
idToDelete = null
|
||||||
}
|
}
|
||||||
|
|
||||||
const cancelDeleteComponent = () => {
|
const cancelDeleteComponent = () => {
|
||||||
idToDelete = null
|
idToDelete = null
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
import { store, currentAsset } from "builderStore"
|
import { store, currentAsset } from "builderStore"
|
||||||
import ConfirmDialog from "components/common/ConfirmDialog.svelte"
|
import ConfirmDialog from "components/common/ConfirmDialog.svelte"
|
||||||
import { findComponentParent } from "builderStore/storeUtils"
|
import { findComponentParent } from "builderStore/storeUtils"
|
||||||
import { ActionMenu, MenuItem, Icon } from "@budibase/bbui"
|
import { ActionMenu, MenuItem, Icon, notifications } from "@budibase/bbui"
|
||||||
|
|
||||||
export let component
|
export let component
|
||||||
|
|
||||||
|
@ -51,7 +51,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
const deleteComponent = async () => {
|
const deleteComponent = async () => {
|
||||||
|
try {
|
||||||
await store.actions.components.delete(component)
|
await store.actions.components.delete(component)
|
||||||
|
} catch (error) {
|
||||||
|
notifications.error(error)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const storeComponentForCopy = (cut = false) => {
|
const storeComponentForCopy = (cut = false) => {
|
||||||
|
|
Loading…
Reference in New Issue