From d49380d1fc1351eadf6d5c5207413c09ee3e9d36 Mon Sep 17 00:00:00 2001 From: John Chilton Date: Wed, 28 Feb 2024 16:27:22 -0500 Subject: [PATCH] Markdown-based help text component. --- client/src/components/Help/HelpText.vue | 48 +++++++++++ client/src/components/Help/terms.js | 22 +++++ client/src/components/Help/terms.yml | 83 +++++++++++++++++++ .../src/components/JobInformation/CodeRow.vue | 10 ++- .../JobInformation/JobInformation.vue | 30 +++++-- .../components/Workflow/InvocationsList.vue | 5 ++ 6 files changed, 192 insertions(+), 6 deletions(-) create mode 100644 client/src/components/Help/HelpText.vue create mode 100644 client/src/components/Help/terms.js create mode 100644 client/src/components/Help/terms.yml diff --git a/client/src/components/Help/HelpText.vue b/client/src/components/Help/HelpText.vue new file mode 100644 index 000000000000..f3f1b4740af1 --- /dev/null +++ b/client/src/components/Help/HelpText.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/client/src/components/Help/terms.js b/client/src/components/Help/terms.js new file mode 100644 index 000000000000..b75b98906752 --- /dev/null +++ b/client/src/components/Help/terms.js @@ -0,0 +1,22 @@ +import terms from "./terms.yml"; + +export function hasHelp(uri) { + const parts = uri.split("."); + let rest = terms; + for (const part of parts) { + rest = rest[part]; + if (rest === undefined) { + return false; + } + } + return true; +} + +export function help(uri) { + const parts = uri.split("."); + let rest = terms; + for (const part of parts) { + rest = rest[part]; + } + return rest; +} diff --git a/client/src/components/Help/terms.yml b/client/src/components/Help/terms.yml new file mode 100644 index 000000000000..f31de86a613e --- /dev/null +++ b/client/src/components/Help/terms.yml @@ -0,0 +1,83 @@ +unix: + commandLine: | + Galaxy typically runs a class of computed programs called "command-line applications". A command + line is essentially a string that describes what application should be run and what parameters + it should be ran with. + + More information on command lines can be found on [Wikipedia](https://en.wikipedia.org/wiki/Command-line_interface). + exitCode: | + An exit code is a numeric representation of how an application execution has completed. + + More information on exit codes can be found on [Wikipedia](https://en.wikipedia.org/wiki/Exit_status). + stdout: | + When an application is executed most of its reporting, diagnostic, and logging messages are printed to a stream of + data called the "standard output" (often abbreviated as stdout). Error messages are more typically + printed to an alternative stream called "standard error". + + More information on standard output can be found on [Wikipedia](https://en.wikipedia.org/wiki/Standard_streams). + stderr: | + When an application is executed most of its error messages are typically printed to a stream of + data called the "standard error" (often abbreviated as stderr). Other reporting, diagnostic, and + logging messages are typically printed to an alternative stream called "standard output". + + More information on standard error can be found on [Wikipedia](https://en.wikipedia.org/wiki/Standard_streams). + traceback: | + A "traceback" is also often called a "stack trace". This is typically used to describe what is + happening at various levels of an application at an instant in time and can sometimes used to + debug what is wrong with the execution of an application. + + More information on stack traces can be found on [Wikipedia](https://en.wikipedia.org/wiki/Stack_trace). + +galaxy: + jobs: + states: + # upload, waiting, failed, paused, deleting, deleted, stop, stopped, skipped. + ok: | + This state indicates the job completed normally and Galaxy did not detect any errors with execution. + new: | + This state indicates the job is ready to be run. Typically this means a Galaxy job handler will schedule + the job and place it into a queued state on its next iteration. + queued: | + This state indicates that Galaxy has scheduled the job and some external resource has placed it in a queue. + Typically, once the job has reached the front of that queue it will be executed and transitioned to the + 'running' state. + error: | + This state indicates that Galaxy has attempted to execute this job and there was some issue. + failed: | + This state indicates that Galaxy has attempted to execute this job and it completed but Galaxy + detected some issue with the execution. + running: | + This state indicates that Galaxy is currently running this job. After the job is complete, it will + likely be transitioned to a 'failed' or 'ok' state. + paused: | + This state indicates that Galaxy has paused attempts to execute this job. This can be because + upstream jobs have failed and so inputs will not become available or because job or quota limits + have been reached. + + invocations: + states: + scheduled: | + This state indicates the workflow invocation has had all of its job scheduled. This means all the + datasets are likely created and Galaxy has created the stubs for the jobs in the workflow. *The jobs + themselves might not have been queued or running.* + + ready: | + This state indicates the workflow invocation is ready for additional scheduling steps. This means + the workflow will likely result in additional datasets and jobs being created over time. + + new: | + This state indicates the workflow invocation has been queued up but no datasets or jobs have been + created. + + cancelled: | + This state indicates the workflow invocation has been cancelled and new jobs or datasets won't + be created for this workflow. Most cancellations are caused by user interactions. If problems + scheduling the workflow cause a failure that cannot be recovered from, the state will be failed + instead of cancelled. + + cancelling: | + This state indicates the workflow invocation will be cancelled shortly by Galaxy. + + failed: | + This state indicates there was a problem scheduling the workflow invocation. No additional datasets + or jobs will be created for this workflow invocation. diff --git a/client/src/components/JobInformation/CodeRow.vue b/client/src/components/JobInformation/CodeRow.vue index e5b3e5d8ce82..74d0376a429e 100644 --- a/client/src/components/JobInformation/CodeRow.vue +++ b/client/src/components/JobInformation/CodeRow.vue @@ -6,7 +6,12 @@ @mousemove="mouseIsDown ? (mouseMoved = true) : (mouseMoved = false)" @mouseup="toggleExpanded()"> - {{ codeLabel }} + + + + + {{ codeLabel }} + @@ -25,15 +30,18 @@ import { library } from "@fortawesome/fontawesome-svg-core"; import { faCompressAlt, faExpandAlt } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome"; +import HelpText from "components/Help/HelpText"; library.add(faCompressAlt, faExpandAlt); export default { components: { FontAwesomeIcon, + HelpText, }, props: { codeLabel: String, codeItem: String, + helpUri: String, }, data() { return { diff --git a/client/src/components/JobInformation/JobInformation.vue b/client/src/components/JobInformation/JobInformation.vue index eef0dfc7195d..8ee844248c71 100644 --- a/client/src/components/JobInformation/JobInformation.vue +++ b/client/src/components/JobInformation/JobInformation.vue @@ -16,7 +16,9 @@ Job State - {{ job.state }} + + + Galaxy Tool Version @@ -40,16 +42,32 @@ {{ runTime }} - - - + + + - Tool Exit Code + Tool {{ job.exit_code }} @@ -78,6 +96,7 @@