random-web-tools/src/views/general/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>
2024-09-28 15:16:10 +03:00
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: {
2024-09-28 15:16:10 +03:00
data: "* * * * *"
2023-12-14 10:16:40 +02:00
},
2024-09-28 15:16:10 +03:00
toolResult: ""
2023-12-14 10:16:40 +02:00
};
},
mounted() {
this.toolResult = cronstrue.toString(this.toolData.data, {
use24HourTimeFormat: true,
2024-09-28 15:16:10 +03:00
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,
2024-09-28 15:16:10 +03:00
verbose: true
2023-12-14 10:16:40 +02:00
});
} catch (e) {
2024-09-28 15:16:10 +03:00
this.toolResult = "invalid syntax";
2023-12-14 10:16:40 +02:00
}
2024-09-28 15:16:10 +03:00
}
}
};
2023-12-14 10:16:40 +02:00
</script>
<style lang="scss">
</style>