diff --git a/client/src/components/Dataset/DatasetState.vue b/client/src/components/Dataset/DatasetState.vue index 0da07aa17f2..c37f0694e59 100644 --- a/client/src/components/Dataset/DatasetState.vue +++ b/client/src/components/Dataset/DatasetState.vue @@ -1,10 +1,12 @@ diff --git a/client/src/components/Dataset/DatasetView.vue b/client/src/components/Dataset/DatasetView.vue index 5036bb1be79..19f0637e0f5 100644 --- a/client/src/components/Dataset/DatasetView.vue +++ b/client/src/components/Dataset/DatasetView.vue @@ -102,11 +102,15 @@ watch( class="flex-grow-1" :collapse="headerState" @click="toggleHeaderCollapse"> - {{ dataset?.hid }}: - {{ dataset?.name }} - - - +
+
+ {{ dataset?.hid }}: + {{ dataset?.name }} +
+ + + +
@@ -279,23 +283,34 @@ watch( opacity: 0; } -.dataset-hid, -.dataset-state-header { - white-space: nowrap; +.dataset-header-content { + display: flex; + flex-wrap: wrap; + align-items: baseline; + gap: 0.5rem; +} + +.dataset-title-row { + display: flex; + align-items: baseline; + min-width: 0; + flex: 1 1 auto; } .dataset-hid { + white-space: nowrap; margin-right: 0.25rem; } .dataset-name { word-break: break-word; + min-width: 0; } .dataset-state-header { font-size: $h5-font-size; - vertical-align: middle; - margin-left: 0.5rem; + flex: 0 0 auto; + white-space: nowrap; } .tab-content-panel { diff --git a/client/src/components/History/Content/model/states.ts b/client/src/components/History/Content/model/states.ts index eeef948f79f..5f2240c8358 100644 --- a/client/src/components/History/Content/model/states.ts +++ b/client/src/components/History/Content/model/states.ts @@ -14,6 +14,7 @@ type State = interface StateRepresentation { status: "success" | "warning" | "info" | "danger" | "secondary"; text?: string; + displayName?: string; icon?: string; spin?: boolean; nonDb?: boolean; @@ -31,28 +32,33 @@ export const STATES: StateMap = { /** has successfully completed running */ ok: { status: "success", + displayName: "ok", }, /** has no data */ empty: { status: "success", text: "No data.", + displayName: "empty", }, /** was created without a tool */ new: { status: "warning", text: "This is a new dataset and not all of its data are available yet.", + displayName: "new", icon: "clock", }, /** the job that will produce the dataset queued in the runner */ queued: { status: "warning", text: "This job is waiting to run.", + displayName: "queued", icon: "clock", }, /** the job that will produce the dataset is running */ running: { status: "warning", text: "This job is currently running.", + displayName: "running", icon: "spinner", spin: true, }, @@ -60,6 +66,7 @@ export const STATES: StateMap = { setting_metadata: { status: "warning", text: "Metadata is being auto-detected.", + displayName: "setting metadata", icon: "spinner", spin: true, }, @@ -67,6 +74,7 @@ export const STATES: StateMap = { upload: { status: "warning", text: "This dataset is currently uploading.", + displayName: "uploading", icon: "spinner", spin: true, }, @@ -74,41 +82,48 @@ export const STATES: StateMap = { deferred: { status: "info", text: "This dataset is remote, has not been ingested by Galaxy, and full metadata may not be available.", + displayName: "deferred", icon: "cloud", }, /** the job that will produce the dataset paused */ paused: { status: "info", text: "This job is paused. Use the 'Resume Paused Jobs' in the history menu to resume.", + displayName: "paused", icon: "pause", }, /** deleted while uploading */ discarded: { status: "danger", text: "This dataset is discarded - the job creating it may have been cancelled or it may have been imported without file data.", + displayName: "discarded", icon: "exclamation-triangle", }, /** the tool producing this dataset has errored */ error: { status: "danger", text: "An error occurred with this dataset.", + displayName: "error", icon: "exclamation-triangle", }, /** metadata discovery/setting failed or errored (but otherwise ok) */ failed_metadata: { status: "danger", text: "Metadata generation failed. Please retry.", + displayName: "failed metadata", icon: "exclamation-triangle", }, /** the job has failed, this is not a dataset but a job state used in the collection job state summary. */ failed: { status: "danger", + displayName: "failed", icon: "exclamation-triangle", }, /** the dataset is not yet loaded in the UI. This state is only visual and transitional, it does not exist in the database. */ placeholder: { status: "secondary", text: "This dataset is being fetched.", + displayName: "loading", icon: "spinner", spin: true, nonDb: true, @@ -117,6 +132,7 @@ export const STATES: StateMap = { failed_populated_state: { status: "danger", text: "Failed to populate the collection.", + displayName: "failed", icon: "exclamation-triangle", nonDb: true, }, @@ -124,12 +140,14 @@ export const STATES: StateMap = { new_populated_state: { status: "warning", text: "This is a new collection and not all of its data are available yet.", + displayName: "new", icon: "clock", nonDb: true, }, inaccessible: { status: "warning", text: "User not allowed to access this dataset.", + displayName: "inaccessible", icon: "lock", nonDb: true, },