diff --git a/client/src/components/Dataset/DatasetView.vue b/client/src/components/Dataset/DatasetView.vue new file mode 100644 index 000000000000..5e5f8f73f223 --- /dev/null +++ b/client/src/components/Dataset/DatasetView.vue @@ -0,0 +1,81 @@ + + + + diff --git a/client/src/components/History/Content/ContentItem.vue b/client/src/components/History/Content/ContentItem.vue index e0d6acdb8178..f32e6a5bd813 100644 --- a/client/src/components/History/Content/ContentItem.vue +++ b/client/src/components/History/Content/ContentItem.vue @@ -168,6 +168,7 @@ const itemUrls = computed(() => { reportError: `/datasets/${id}/error`, rerun: `/tool_runner/rerun?id=${id}`, visualize: `/visualizations?dataset_id=${id}`, + view: `/datasets/${id}`, }; }); @@ -288,6 +289,9 @@ function onEdit() { router.push(itemUrls.value.edit!); } +function onView() { + router.push(itemUrls.value.view!); +} function onShowCollectionInfo() { router.push(itemUrls.value.showDetails!); } @@ -400,6 +404,7 @@ function unexpandedClick(event: Event) { :item-urls="itemUrls" @delete="onDelete" @display="onDisplay" + @view="onView" @showCollectionInfo="onShowCollectionInfo" @edit="onEdit" @undelete="onUndelete" @@ -465,4 +470,4 @@ function unexpandedClick(event: Event) { margin-left: 0rem !important; } } - + \ No newline at end of file diff --git a/client/src/components/History/Content/ContentOptions.vue b/client/src/components/History/Content/ContentOptions.vue index d3f55ba2b275..5770d5b02cd0 100644 --- a/client/src/components/History/Content/ContentOptions.vue +++ b/client/src/components/History/Content/ContentOptions.vue @@ -37,6 +37,8 @@ const editDisabled = computed(() => const displayUrl = computed(() => prependPath(props.itemUrls.display)); +const viewUrl = computed(() => prependPath(props.itemUrls.view)); + const editUrl = computed(() => prependPath(props.itemUrls.edit)); const isCollection = computed(() => !props.isDataset); @@ -95,7 +97,7 @@ function onDisplay($event: MouseEvent) { class="display-btn px-1" size="sm" variant="link" - :href="displayUrl" + :href="viewUrl" @click.prevent.stop="onDisplay($event)"> diff --git a/client/src/entry/analysis/router.js b/client/src/entry/analysis/router.js index dec661825916..ed99f4b8fe64 100644 --- a/client/src/entry/analysis/router.js +++ b/client/src/entry/analysis/router.js @@ -5,6 +5,7 @@ import CollectionEditView from "components/Collections/common/CollectionEditView import DatasetList from "components/Dataset/DatasetList"; import DatasetAttributes from "components/DatasetInformation/DatasetAttributes"; import DatasetDetails from "components/DatasetInformation/DatasetDetails"; +import DatasetView from "components/Dataset/DatasetView"; import DatasetError from "components/DatasetInformation/DatasetError"; import FormGeneric from "components/Form/FormGeneric"; import HistoryExportTasks from "components/History/Export/HistoryExport"; @@ -228,6 +229,11 @@ export function getRouter(Galaxy) { component: DatasetError, props: true, }, + { + path: "datasets/:datasetId", + component: DatasetView, + props: true, + }, { path: "datatypes", component: AvailableDatatypes, diff --git a/lib/galaxy/webapps/galaxy/buildapp.py b/lib/galaxy/webapps/galaxy/buildapp.py index 47e8d47ca971..a9efded9736d 100644 --- a/lib/galaxy/webapps/galaxy/buildapp.py +++ b/lib/galaxy/webapps/galaxy/buildapp.py @@ -258,6 +258,7 @@ def app_pair(global_conf, load_app_kwds=None, wsgi_preflight=True, **kwargs): webapp.add_client_route("/datasets/{dataset_id}/details") webapp.add_client_route("/datasets/{dataset_id}/preview") webapp.add_client_route("/datasets/{dataset_id}/show_params") + webapp.add_client_route("/datasets/{dataset_id}") webapp.add_client_route("/collection/{collection_id}/edit") webapp.add_client_route("/jobs/submission/success") webapp.add_client_route("/jobs/{job_id}/view")