Fix history item action URLs with prefix

Declare relative URLs only and then prefix the root when necessary.
This commit is contained in:
davelopez
2022-07-15 13:18:38 +02:00
parent 9feebb88cb
commit 23f190bd24
3 changed files with 33 additions and 16 deletions
@@ -101,12 +101,9 @@ import { JobStateSummary } from "./Collection/JobStateSummary";
import { library } from "@fortawesome/fontawesome-svg-core";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { faArrowCircleUp, faMinusCircle, faCheckCircle } from "@fortawesome/free-solid-svg-icons";
import { getAppRoot } from "onload/loadConfig";
library.add(faArrowCircleUp, faMinusCircle, faCheckCircle);
const root = getAppRoot();
export default {
components: {
CollectionDescription,
@@ -173,19 +170,20 @@ export default {
isCollection() {
return "collection_type" in this.item;
},
/** Relative URLs for history item actions */
itemUrls() {
const id = this.item.id;
if (this.isCollection) {
return {
edit: `${root}collection/edit/${id}`,
edit: `collection/edit/${id}`,
};
}
return {
display: `${root}datasets/${id}/display/?preview=True`,
edit: `${root}datasets/edit?dataset_id=${id}`,
showDetails: `${root}datasets/${id}/details`,
reportError: `${root}datasets/error?dataset_id=${id}`,
rerun: `${root}tool_runner/rerun?id=${id}`,
display: `datasets/${id}/display/?preview=True`,
edit: `datasets/edit?dataset_id=${id}`,
showDetails: `datasets/${id}/details`,
reportError: `datasets/error?dataset_id=${id}`,
rerun: `tool_runner/rerun?id=${id}`,
visualize: `visualizations?dataset_id=${id}`,
};
},
@@ -7,7 +7,7 @@
class="display-btn px-1"
size="sm"
variant="link"
:href="itemUrls.display"
:href="displayUrl"
@click.prevent.stop="$emit('display')">
<icon icon="eye" />
</b-button>
@@ -18,7 +18,7 @@
class="edit-btn px-1"
size="sm"
variant="link"
:href="itemUrls.edit"
:href="editUrl"
@click.prevent.stop="$emit('edit')">
<icon icon="pen" />
</b-button>
@@ -53,6 +53,7 @@
</template>
<script>
import { prependPath } from "utils/redirect.js";
export default {
props: {
isDataset: { type: Boolean, required: true },
@@ -81,6 +82,12 @@ export default {
editDisabled() {
return ["discarded", "new", "upload", "queued", "running", "waiting"].includes(this.state);
},
displayUrl() {
return prependPath(this.itemUrls.display);
},
editUrl() {
return prependPath(this.itemUrls.edit);
},
},
};
</script>
@@ -8,7 +8,7 @@
title="Error"
size="sm"
variant="link"
:href="itemUrls.reportError"
:href="reportErrorUrl"
@click.prevent.stop="onError">
<span class="fa fa-bug" />
</b-button>
@@ -28,7 +28,7 @@
title="Dataset Details"
size="sm"
variant="link"
:href="itemUrls.showDetails"
:href="showDetailsUrl"
@click.prevent.stop="onInfo">
<span class="fa fa-info-circle" />
</b-button>
@@ -38,7 +38,7 @@
title="Run Job Again"
size="sm"
variant="link"
:href="itemUrls.rerun"
:href="rerunUrl"
@click.prevent.stop="onRerun">
<span class="fa fa-redo" />
</b-button>
@@ -48,7 +48,7 @@
title="Visualize"
size="sm"
variant="link"
:href="itemUrls.visualize"
:href="visualizeUrl"
@click.prevent.stop="onVisualize">
<span class="fa fa-bar-chart-o" />
</b-button>
@@ -72,7 +72,7 @@
<script>
import { legacyNavigationMixin } from "components/plugins/legacyNavigation";
import { copy as sendToClipboard } from "utils/clipboard";
import { absPath } from "utils/redirect";
import { absPath, prependPath } from "utils/redirect.js";
import { downloadUrlMixin } from "./mixins.js";
import DatasetDownload from "./DatasetDownload";
@@ -108,6 +108,18 @@ export default {
// TODO: Check hasViz, if visualizations are activated in the config
return !this.item.purged && ["ok", "failed_metadata", "error"].includes(this.item.state);
},
reportErrorUrl() {
return prependPath(this.itemUrls.reportError);
},
showDetailsUrl() {
return prependPath(this.itemUrls.showDetails);
},
rerunUrl() {
return prependPath(this.itemUrls.rerun);
},
visualizeUrl() {
return prependPath(this.itemUrls.visualize);
},
},
methods: {
onCopyLink() {