1
0
Fork 0
mirror of synced 2024-07-16 11:45:47 +12:00
budibase/packages/builder/src/components/common/ConfirmDialog.svelte

65 lines
1.3 KiB
Svelte
Raw Normal View History

2020-02-19 05:51:28 +13:00
<script>
2020-02-25 04:00:48 +13:00
import Button from "./Button.svelte"
import ActionButton from "./ActionButton.svelte"
import ButtonGroup from "./ButtonGroup.svelte"
import UIkit from "uikit"
export let title = ""
export let body = ""
export let okText = "OK"
export let cancelText = "Cancel"
export let onOk = () => {}
export let onCancel = () => {}
export const show = () => {
uiKitModal.hide()
uiKitModal.show()
2020-02-25 04:00:48 +13:00
}
export const hide = () => {
uiKitModal.hide()
2020-02-25 04:00:48 +13:00
}
let theModal
$: uiKitModal = theModal && UIkit.modal(theModal)
2020-02-25 04:00:48 +13:00
const cancel = () => {
hide()
onCancel()
}
const ok = () => {
hide()
onOk()
}
2020-02-19 05:51:28 +13:00
</script>
<div id={title} uk-modal bind:this={theModal}>
2020-02-19 05:51:28 +13:00
<div class="uk-modal-dialog">
2020-02-25 04:00:48 +13:00
<button class="uk-modal-close-default" type="button" uk-close />
2020-02-19 05:51:28 +13:00
<div class="uk-modal-header">
<h4 class="budibase__title--4">{title}</h4>
2020-02-19 05:51:28 +13:00
</div>
2020-02-20 10:38:21 +13:00
<div class="uk-modal-body">
2020-03-24 23:56:48 +13:00
<slot class="rows">{body}</slot>
2020-02-20 10:38:21 +13:00
</div>
2020-02-19 05:51:28 +13:00
<div class="uk-modal-footer">
<ButtonGroup>
2020-03-24 23:56:48 +13:00
<ActionButton cancel on:click={cancel}>{cancelText}</ActionButton>
2020-03-06 04:21:29 +13:00
<ActionButton primary on:click={ok}>{okText}</ActionButton>
2020-02-25 04:00:48 +13:00
</ButtonGroup>
2020-02-19 05:51:28 +13:00
</div>
</div>
</div>
2020-03-24 23:56:48 +13:00
<style>
2020-03-28 05:58:32 +13:00
.uk-modal-footer {
background: var(--grey-1);
2020-03-28 05:58:32 +13:00
}
2020-03-24 23:56:48 +13:00
2020-03-28 05:58:32 +13:00
.uk-modal-dialog {
width: 400px;
border-radius: 5px;
}
2020-03-24 23:56:48 +13:00
</style>