Loading client/src/components/History/Content/Dataset/DatasetActions.vue +27 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,15 @@ @click.stop="onHighlight"> <span class="fa fa-sitemap" /> </b-button> <b-button v-if="showStop" class="stop-btn px-1" title="Finish Job Early" size="sm" variant="link" @click.stop="onStop"> <span class="fa fa-solid fa-stop" /> </b-button> <b-button v-if="showRerun" class="px-1" title="Help" size="sm" variant="link" @click.stop="onRerun"> <span class="fa fa-question" /> </b-button> Loading @@ -74,6 +83,7 @@ import { copy as sendToClipboard } from "utils/clipboard"; import { absPath, prependPath } from "@/utils/redirect"; import { downloadUrlMixin } from "./mixins.js"; import DatasetDownload from "./DatasetDownload"; import { stopJob } from "components/History/model/queries"; export default { components: { Loading Loading @@ -120,6 +130,9 @@ export default { visualizeUrl() { return prependPath(this.itemUrls.visualize); }, showStop() { return this.item.state == "running"; }, }, methods: { onCopyLink() { Loading @@ -145,6 +158,20 @@ export default { onHighlight() { this.$emit("toggleHighlights"); }, onStop() { stopJob(this.item.creating_job); document.querySelector(".stop-btn").classList.add("stopping-job"); }, }, }; </script> <style scoped> .stopping-job { animation: blink-animation .5s steps(5, start) infinite; } @keyframes blink-animation { to { visibility: hidden; } } </style> client/src/components/History/Content/Dataset/DatasetDetails.vue +2 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,8 @@ </button> <button disabled class="btn px-1 btn-link btn-sm"> <span class="fa fa-sitemap"></span> <button disabled class="btn px-1 btn-link btn-sm"> <span class="fa fa-solid fa-stop"></span> </button> </div> </div> Loading client/src/components/History/model/queries.js +9 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,15 @@ export async function deleteContent(content, deleteParams = {}) { return doResponse(response); } /** * Stops job and marks it as complete. */ export async function stopJob(job_id) { const url = `api/jobs/${job_id}/finish`; const response = await axios.put(prependPath(url)); return doResponse(response); } /** * Update specific fields on datasets or collections. * @param {Object} content content object Loading Loading
client/src/components/History/Content/Dataset/DatasetActions.vue +27 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,15 @@ @click.stop="onHighlight"> <span class="fa fa-sitemap" /> </b-button> <b-button v-if="showStop" class="stop-btn px-1" title="Finish Job Early" size="sm" variant="link" @click.stop="onStop"> <span class="fa fa-solid fa-stop" /> </b-button> <b-button v-if="showRerun" class="px-1" title="Help" size="sm" variant="link" @click.stop="onRerun"> <span class="fa fa-question" /> </b-button> Loading @@ -74,6 +83,7 @@ import { copy as sendToClipboard } from "utils/clipboard"; import { absPath, prependPath } from "@/utils/redirect"; import { downloadUrlMixin } from "./mixins.js"; import DatasetDownload from "./DatasetDownload"; import { stopJob } from "components/History/model/queries"; export default { components: { Loading Loading @@ -120,6 +130,9 @@ export default { visualizeUrl() { return prependPath(this.itemUrls.visualize); }, showStop() { return this.item.state == "running"; }, }, methods: { onCopyLink() { Loading @@ -145,6 +158,20 @@ export default { onHighlight() { this.$emit("toggleHighlights"); }, onStop() { stopJob(this.item.creating_job); document.querySelector(".stop-btn").classList.add("stopping-job"); }, }, }; </script> <style scoped> .stopping-job { animation: blink-animation .5s steps(5, start) infinite; } @keyframes blink-animation { to { visibility: hidden; } } </style>
client/src/components/History/Content/Dataset/DatasetDetails.vue +2 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,8 @@ </button> <button disabled class="btn px-1 btn-link btn-sm"> <span class="fa fa-sitemap"></span> <button disabled class="btn px-1 btn-link btn-sm"> <span class="fa fa-solid fa-stop"></span> </button> </div> </div> Loading
client/src/components/History/model/queries.js +9 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,15 @@ export async function deleteContent(content, deleteParams = {}) { return doResponse(response); } /** * Stops job and marks it as complete. */ export async function stopJob(job_id) { const url = `api/jobs/${job_id}/finish`; const response = await axios.put(prependPath(url)); return doResponse(response); } /** * Update specific fields on datasets or collections. * @param {Object} content content object Loading