mirror of
https://github.com/louislam/uptime-kuma.git
synced 2024-11-29 01:34:05 +00:00
61 lines
1.6 KiB
Vue
61 lines
1.6 KiB
Vue
<template>
|
|
<div ref="modal" class="modal fade" tabindex="-1">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 id="exampleModalLabel" class="modal-title">
|
|
{{ $t("Confirm") }}
|
|
</h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close" />
|
|
</div>
|
|
<div class="modal-body">
|
|
<slot />
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn" :class="btnStyle" data-bs-dismiss="modal" @click="yes">
|
|
{{ yesText }}
|
|
</button>
|
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">
|
|
{{ noText }}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { Modal } from "bootstrap";
|
|
|
|
export default {
|
|
props: {
|
|
btnStyle: {
|
|
type: String,
|
|
default: "btn-primary",
|
|
},
|
|
yesText: {
|
|
type: String,
|
|
default: "Yes", // TODO: No idea what to translate this
|
|
},
|
|
noText: {
|
|
type: String,
|
|
default: "No",
|
|
},
|
|
},
|
|
emits: [ "yes" ],
|
|
data: () => ({
|
|
modal: null,
|
|
}),
|
|
mounted() {
|
|
this.modal = new Modal(this.$refs.modal);
|
|
},
|
|
methods: {
|
|
show() {
|
|
this.modal.show();
|
|
},
|
|
yes() {
|
|
this.$emit("yes");
|
|
},
|
|
},
|
|
};
|
|
</script>
|