Prevent notifications in client apps from being automatically dismissed
This commit is contained in:
parent
25bcd37b78
commit
9b3c06bb3a
|
@ -19,6 +19,8 @@
|
|||
type={$notificationStore.type}
|
||||
message={$notificationStore.message}
|
||||
icon={$notificationStore.icon}
|
||||
dismissable={$notificationStore.dismissable}
|
||||
on:dismiss={notificationStore.actions.dismiss}
|
||||
/>
|
||||
</div>
|
||||
{/key}
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
}
|
||||
|
||||
const proxyNotification = event => {
|
||||
const { message, type, icon } = event.detail
|
||||
notificationStore.actions.send(message, type, icon)
|
||||
const { message, type, icon, autoDismiss } = event.detail
|
||||
notificationStore.actions.send(message, type, icon, autoDismiss)
|
||||
}
|
||||
|
||||
const proxyStateUpdate = event => {
|
||||
|
|
|
@ -19,7 +19,7 @@ const createNotificationStore = () => {
|
|||
setTimeout(() => (block = false), timeout)
|
||||
}
|
||||
|
||||
const send = (message, type = "info", icon) => {
|
||||
const send = (message, type = "info", icon, autoDismiss = true) => {
|
||||
if (block) {
|
||||
return
|
||||
}
|
||||
|
@ -32,6 +32,7 @@ const createNotificationStore = () => {
|
|||
message,
|
||||
type,
|
||||
icon,
|
||||
autoDismiss,
|
||||
},
|
||||
})
|
||||
return
|
||||
|
@ -42,12 +43,20 @@ const createNotificationStore = () => {
|
|||
type,
|
||||
message,
|
||||
icon,
|
||||
dismissable: !autoDismiss,
|
||||
delay: get(store) != null,
|
||||
})
|
||||
clearTimeout(timeout)
|
||||
timeout = setTimeout(() => {
|
||||
store.set(null)
|
||||
}, NOTIFICATION_TIMEOUT)
|
||||
if (autoDismiss) {
|
||||
timeout = setTimeout(() => {
|
||||
store.set(null)
|
||||
}, NOTIFICATION_TIMEOUT)
|
||||
}
|
||||
}
|
||||
|
||||
const dismiss = () => {
|
||||
clearTimeout(timeout)
|
||||
store.set(null)
|
||||
}
|
||||
|
||||
return {
|
||||
|
@ -57,8 +66,9 @@ const createNotificationStore = () => {
|
|||
info: msg => send(msg, "info", "Info"),
|
||||
success: msg => send(msg, "success", "CheckmarkCircle"),
|
||||
warning: msg => send(msg, "warning", "Alert"),
|
||||
error: msg => send(msg, "error", "Alert"),
|
||||
error: msg => send(msg, "error", "Alert", false),
|
||||
blockNotifications,
|
||||
dismiss,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue