Allow configuring whether notification is automatically dismissed or not
This commit is contained in:
parent
ab0d6bd6ed
commit
acc71cb0e9
|
@ -1,5 +1,5 @@
|
|||
<script>
|
||||
import { Select, Label } from "@budibase/bbui"
|
||||
import { Select, Label, Checkbox } from "@budibase/bbui"
|
||||
import { onMount } from "svelte"
|
||||
import DrawerBindableInput from "components/common/bindings/DrawerBindableInput.svelte"
|
||||
|
||||
|
@ -28,17 +28,22 @@
|
|||
if (!parameters.type) {
|
||||
parameters.type = "success"
|
||||
}
|
||||
if (parameters.autoDismiss == null) {
|
||||
parameters.autoDismiss = true
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<div class="root">
|
||||
<Label small>Type</Label>
|
||||
<Label>Type</Label>
|
||||
<Select bind:value={parameters.type} options={types} placeholder={null} />
|
||||
<Label small>Message</Label>
|
||||
<Label>Message</Label>
|
||||
<DrawerBindableInput
|
||||
value={parameters.message}
|
||||
on:change={e => (parameters.message = e.detail)}
|
||||
/>
|
||||
<Label />
|
||||
<Checkbox text="Auto dismiss" bind:value={parameters.autoDismiss} />
|
||||
</div>
|
||||
|
||||
<style>
|
||||
|
|
|
@ -62,10 +62,14 @@ const createNotificationStore = () => {
|
|||
subscribe: store.subscribe,
|
||||
actions: {
|
||||
send,
|
||||
info: msg => send(msg, "info", "Info"),
|
||||
success: msg => send(msg, "success", "CheckmarkCircle"),
|
||||
warning: msg => send(msg, "warning", "Alert"),
|
||||
error: msg => send(msg, "error", "Alert", false),
|
||||
info: (msg, autoDismiss) =>
|
||||
send(msg, "info", "Info", autoDismiss ?? true),
|
||||
success: (msg, autoDismiss) =>
|
||||
send(msg, "success", "CheckmarkCircle", autoDismiss ?? true),
|
||||
warning: (msg, autoDismiss) =>
|
||||
send(msg, "warning", "Alert", autoDismiss ?? true),
|
||||
error: (msg, autoDismiss) =>
|
||||
send(msg, "error", "Alert", autoDismiss ?? false),
|
||||
blockNotifications,
|
||||
dismiss,
|
||||
},
|
||||
|
|
|
@ -301,11 +301,11 @@ const continueIfHandler = action => {
|
|||
}
|
||||
|
||||
const showNotificationHandler = action => {
|
||||
const { message, type } = action.parameters
|
||||
const { message, type, autoDismiss } = action.parameters
|
||||
if (!message || !type) {
|
||||
return
|
||||
}
|
||||
notificationStore.actions[type]?.(message)
|
||||
notificationStore.actions[type]?.(message, autoDismiss)
|
||||
}
|
||||
|
||||
const handlerMap = {
|
||||
|
|
Loading…
Reference in New Issue