mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-05-11 05:55:12 +00:00
57 lines
1.7 KiB
Vue
57 lines
1.7 KiB
Vue
<template>
|
|
<div>
|
|
<div class='clearfix'>
|
|
<div class='pull-left'>{{correction.Msg}}
|
|
<span v-show="!hasRun" class="label label-primary noselect" @click="run">Run!</span>
|
|
<span v-show="ok" class='glyphicon glyphicon-ok' style='color:rgb(93, 197, 150);'></span>
|
|
</div>
|
|
<spinner :loading="running" class='pull-left' height="15px" ></spinner>
|
|
</div>
|
|
<alert v-if="error" type="danger" >
|
|
{{error}}
|
|
</alert>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
import spinner from 'vue-spinner/src/ScaleLoader.vue'
|
|
import { alert } from 'vue-strap'
|
|
|
|
export default{
|
|
data: function(){return{
|
|
hasRun: false,
|
|
running: false,
|
|
error: "",
|
|
ok: false
|
|
};},
|
|
methods: {
|
|
run: function(){
|
|
if (this.hasRun){return;}
|
|
this.hasRun = true;
|
|
this.running = true;
|
|
this.error = "";
|
|
this.ok = false;
|
|
var self = this;
|
|
fetch("/api/run?id="+this.correction.ID,{method: "POST"})
|
|
.then(function(response) {
|
|
if (response.status != 200){
|
|
response.text().then(function(txt){
|
|
self.error = txt;
|
|
self.running = false;
|
|
self.hasRun = false;
|
|
})
|
|
return
|
|
}
|
|
self.ok= true
|
|
self.running=false
|
|
});
|
|
}
|
|
},
|
|
props:{
|
|
correction: Object
|
|
},
|
|
components:{spinner,alert}
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
</style> |