random-web-tools/src/views/ExplainCrontab.vue

57 lines
1.2 KiB
Vue
Raw Normal View History

2023-12-14 10:16:40 +02:00
<template>
<h2 class="tool-title">Explain crontab</h2>
<hr class="mt-5 mb-5">
<div class="input-group">
<label for="data">Data</label>
<input id="data" class="input" v-model="toolData.data" v-on:keyup="result" placeholder="* * * * *" type="text">
2023-12-14 10:16:40 +02:00
</div>
<hr class="mt-5 mb-5">
<div class="input-group">
<label for="result">Result</label>
<MonacoEditor name="result" language="json" :value="toolResult"></MonacoEditor>
2023-12-14 10:16:40 +02:00
</div>
</template>
<script>
import cronstrue from 'cronstrue';
import MonacoEditor from "@/components/MonacoEditor.vue";
2023-12-14 10:16:40 +02:00
export default {
components: {
MonacoEditor
},
2023-12-14 10:16:40 +02:00
data() {
return {
toolData: {
data: '* * * * *',
},
toolResult: '',
2023-12-14 10:16:40 +02:00
};
},
mounted() {
this.toolResult = cronstrue.toString(this.toolData.data, {
use24HourTimeFormat: true,
verbose: true,
});
},
methods: {
result() {
2023-12-14 10:16:40 +02:00
try {
this.toolResult = cronstrue.toString(this.toolData.data, {
2023-12-14 10:16:40 +02:00
use24HourTimeFormat: true,
verbose: true,
});
} catch (e) {
this.toolResult = 'invalid syntax';
2023-12-14 10:16:40 +02:00
}
},
},
}
</script>
<style lang="scss">
</style>