diff --git a/client/src/components/Common/VegaWrapper.vue b/client/src/components/Common/VegaWrapper.vue index c75d5b920629..90abd6808fc4 100644 --- a/client/src/components/Common/VegaWrapper.vue +++ b/client/src/components/Common/VegaWrapper.vue @@ -3,14 +3,14 @@ {{ errorMessage }} -
+
+ + diff --git a/client/src/components/Markdown/Utilities/parseInvocation.ts b/client/src/components/Markdown/Utilities/parseInvocation.ts index bf6474e7c383..a6536fbd56d7 100644 --- a/client/src/components/Markdown/Utilities/parseInvocation.ts +++ b/client/src/components/Markdown/Utilities/parseInvocation.ts @@ -1,10 +1,4 @@ -interface Invocation { - history_id: string; - inputs: Record; - outputs: Record; - steps: { workflow_step_label?: string; job_id?: string; implicit_collection_jobs_id?: string }[]; - workflow_id: string; -} +import type { Invocation } from "@/components/Markdown/Editor/types"; interface ParsedAttributes { history_id?: string; @@ -19,35 +13,54 @@ interface ParsedAttributes { workflow_id?: string; } +export function parseInput(invocation: Invocation, name: string | undefined) { + if (name && invocation.inputs) { + const inputs = Object.values(invocation.inputs); + const input = inputs.find((i) => i.label && i.label === name); + return input?.id; + } +} + +export function parseOutput(invocation: Invocation, name: string | undefined) { + if (name && invocation.outputs) { + const output = invocation.outputs[name]; + return output?.id; + } +} + +export function parseStep(invocation: Invocation, name: string | undefined) { + if (name && invocation.steps) { + const step = invocation.steps.find((s) => s.workflow_step_label === name); + if (step) { + return { + job_id: step.job_id, + implicit_collection_jobs_id: step.implicit_collection_jobs_id, + }; + } + } +} + export function parseInvocation( invocation: Invocation, workflowId: string, name: string, attributes: ParsedAttributes ): ParsedAttributes { - const result: ParsedAttributes = { ...attributes }; - result.invocation = invocation; + const result: ParsedAttributes = { ...attributes, invocation }; + const inputId = parseInput(invocation, result.input); + const outputId = parseOutput(invocation, result.output); + const step = parseStep(invocation, result.step); if (name === "history_link") { result.history_id = invocation.history_id; } else if (["workflow_display", "workflow_image", "workflow_license"].includes(name)) { result.workflow_id = workflowId; - } else if (result.input && invocation.inputs) { - const inputs = Object.values(invocation.inputs); - const input = inputs.find((i) => i.label && i.label === result?.input); - if (input) { - result.history_target_id = input.id; - } - } else if (result.output && invocation.outputs) { - const output = invocation.outputs[result.output]; - if (output) { - result.history_target_id = output.id; - } - } else if (result.step && invocation.steps) { - const step = invocation.steps.find((s) => s.workflow_step_label === result.step); - if (step) { - result.job_id = step.job_id; - result.implicit_collection_jobs_id = step.implicit_collection_jobs_id; - } + } else if (inputId) { + result.history_target_id = inputId; + } else if (outputId) { + result.history_target_id = outputId; + } else if (step) { + result.job_id = step.job_id; + result.implicit_collection_jobs_id = step.implicit_collection_jobs_id; } return result; } diff --git a/client/src/components/Markdown/labels.ts b/client/src/components/Markdown/labels.ts deleted file mode 100644 index 10048e834573..000000000000 --- a/client/src/components/Markdown/labels.ts +++ /dev/null @@ -1,48 +0,0 @@ -// abstractions for dealing with workflows labels and -// connecting them to the Markdown editor - -type WorkflowLabelKind = "input" | "output" | "step"; - -export interface WorkflowLabel { - label: string; - type: WorkflowLabelKind; -} - -interface StepOutput { - label?: string; -} - -interface Step { - label?: string; - type: string; - workflow_outputs: StepOutput[]; -} - -export type WorkflowLabels = WorkflowLabel[]; - -export function fromSteps(steps?: Step[]): WorkflowLabels { - const labels: WorkflowLabels = []; - - if (!steps) { - return labels; - } - - Object.values(steps).forEach((step) => { - const stepType = step.type; - if (step.label) { - const isInput = ["data_input", "data_collection_input", "parameter_input"].indexOf(stepType) >= 0; - if (isInput) { - labels.push({ type: "input", label: step.label }); - } else { - labels.push({ type: "step", label: step.label }); - } - } - step.workflow_outputs.forEach((workflowOutput) => { - if (workflowOutput.label) { - labels.push({ type: "output", label: workflowOutput.label }); - } - }); - }); - - return labels; -} diff --git a/client/src/components/SelectionDialog/HistoryDatasetPicker.vue b/client/src/components/SelectionDialog/HistoryDatasetPicker.vue index 7958c0a661ef..bd2eb978362a 100644 --- a/client/src/components/SelectionDialog/HistoryDatasetPicker.vue +++ b/client/src/components/SelectionDialog/HistoryDatasetPicker.vue @@ -19,7 +19,6 @@ interface HistoryRecord extends SelectionItem { } interface Props { - folderId: string; title?: string; actionButtonText?: string; } diff --git a/client/src/components/Workflow/Editor/Index.vue b/client/src/components/Workflow/Editor/Index.vue index e7855ba29e26..a8e431ac4a17 100644 --- a/client/src/components/Workflow/Editor/Index.vue +++ b/client/src/components/Workflow/Editor/Index.vue @@ -111,6 +111,7 @@ :markdown-text="report.markdown" mode="report" :title="'Workflow Report: ' + name" + :labels="getLabels" :steps="steps" @insert="insertMarkdown" @update="onReportUpdate"> @@ -224,6 +225,7 @@ import { CopyIntoWorkflowAction, SetValueActionHandler } from "./Actions/workflo import { defaultPosition } from "./composables/useDefaultStepPosition"; import { useActivityLogic, useSpecialWorkflowActivities, workflowEditorActivities } from "./modules/activities"; import { getWorkflowInputs } from "./modules/inputs"; +import { fromSteps } from "./modules/labels"; import { fromSimple } from "./modules/model"; import { getModule, getVersions, loadWorkflow, saveWorkflow } from "./modules/services"; import { getStateUpgradeMessages } from "./modules/utilities"; @@ -510,6 +512,8 @@ export default { })) ); + const getLabels = computed(() => fromSteps(steps.value)); + const saveWorkflowTitle = computed(() => hasInvalidConnections.value ? "Workflow has invalid connections, review and remove invalid connections" @@ -536,6 +540,7 @@ export default { setName, report, license, + getLabels, setLicense, creator, setCreator, diff --git a/client/src/components/Workflow/Editor/modules/labels.ts b/client/src/components/Workflow/Editor/modules/labels.ts new file mode 100644 index 000000000000..5c4cdb4d36fb --- /dev/null +++ b/client/src/components/Workflow/Editor/modules/labels.ts @@ -0,0 +1,44 @@ +// abstractions for dealing with workflows labels and +// connecting them to the Markdown editor + +type WorkflowLabelKind = "input" | "output" | "step"; + +export interface WorkflowLabel { + label: string; + type: WorkflowLabelKind; +} + +interface StepOutput { + label?: string; +} + +interface Step { + label?: string; + type: string; + workflow_outputs: StepOutput[]; +} + +export type WorkflowLabels = WorkflowLabel[]; + +export function fromSteps(steps?: Step[]): WorkflowLabels { + const labels: WorkflowLabels = []; + if (steps) { + Object.values(steps).forEach((step) => { + const stepType = step.type; + if (step.label) { + const isInput = ["data_input", "data_collection_input", "parameter_input"].indexOf(stepType) >= 0; + if (isInput) { + labels.push({ type: "input", label: step.label }); + } else { + labels.push({ type: "step", label: step.label }); + } + } + step.workflow_outputs.forEach((workflowOutput) => { + if (workflowOutput.label) { + labels.push({ type: "output", label: workflowOutput.label }); + } + }); + }); + } + return labels; +} diff --git a/client/src/style/scss/base.scss b/client/src/style/scss/base.scss index 748868bf1b34..c3e1e0d98127 100644 --- a/client/src/style/scss/base.scss +++ b/client/src/style/scss/base.scss @@ -35,7 +35,6 @@ $fa-font-path: "../../../node_modules/@fortawesome/fontawesome-free/webfonts/"; @import "flex.scss"; @import "charts.scss"; @import "message.scss"; -@import "markdown.scss"; @import "multiselect.scss"; @import "icon-btn.scss"; @import "peek-columns.scss"; diff --git a/client/src/style/scss/markdown.scss b/client/src/style/scss/markdown.scss deleted file mode 100644 index 62292052aee4..000000000000 --- a/client/src/style/scss/markdown.scss +++ /dev/null @@ -1,6 +0,0 @@ -.markdown-wrapper { - @extend .px-4; - .markdown-components { - @extend .py-2; - } -} diff --git a/config/plugins/visualizations/PCA_3Dplot/config/PCA_3Dplot.xml b/config/plugins/visualizations/PCA_3Dplot/config/PCA_3Dplot.xml index 933e57f03238..fb5dae15fe42 100644 --- a/config/plugins/visualizations/PCA_3Dplot/config/PCA_3Dplot.xml +++ b/config/plugins/visualizations/PCA_3Dplot/config/PCA_3Dplot.xml @@ -1,6 +1,6 @@ - + Plotly-based 3D PCA visualization plugin. diff --git a/config/plugins/visualizations/annotate_image/config/annotate_image.xml b/config/plugins/visualizations/annotate_image/config/annotate_image.xml index b5bcfe76a7ab..5d9f82c73ed3 100644 --- a/config/plugins/visualizations/annotate_image/config/annotate_image.xml +++ b/config/plugins/visualizations/annotate_image/config/annotate_image.xml @@ -1,6 +1,6 @@ - + An image annotater built using PaperJS at https://github.com/paperjs/paper.js. diff --git a/config/plugins/visualizations/cytoscape/config/cytoscape.xml b/config/plugins/visualizations/cytoscape/config/cytoscape.xml index 79de685142fa..39b9933de02f 100644 --- a/config/plugins/visualizations/cytoscape/config/cytoscape.xml +++ b/config/plugins/visualizations/cytoscape/config/cytoscape.xml @@ -1,6 +1,6 @@ - + A viewer based on graph theory/ network library for analysis and visualisation hosted at http://js.cytoscape.org. @@ -14,7 +14,7 @@ dataset_id - + diff --git a/config/plugins/visualizations/editor/config/editor.xml b/config/plugins/visualizations/editor/config/editor.xml index 8038f9fd2e88..b6a50718b687 100644 --- a/config/plugins/visualizations/editor/config/editor.xml +++ b/config/plugins/visualizations/editor/config/editor.xml @@ -1,6 +1,6 @@ - + Manually edit text diff --git a/config/plugins/visualizations/example/config/example.xml b/config/plugins/visualizations/example/config/example.xml index 7ebf2f643a12..7c052c1ee539 100644 --- a/config/plugins/visualizations/example/config/example.xml +++ b/config/plugins/visualizations/example/config/example.xml @@ -1,6 +1,6 @@ - + Welcome to the Minimal JS-Based Example Plugin. diff --git a/config/plugins/visualizations/fits_graph_viewer/config/fits_graph_viewer.xml b/config/plugins/visualizations/fits_graph_viewer/config/fits_graph_viewer.xml index 4d67c16da013..a8c455130dfe 100644 --- a/config/plugins/visualizations/fits_graph_viewer/config/fits_graph_viewer.xml +++ b/config/plugins/visualizations/fits_graph_viewer/config/fits_graph_viewer.xml @@ -1,6 +1,6 @@ - + Basic plugin for fits file table visualization diff --git a/config/plugins/visualizations/fits_image_viewer/config/fits_image_viewer.xml b/config/plugins/visualizations/fits_image_viewer/config/fits_image_viewer.xml index 9affd764bb58..90bdbc75e317 100644 --- a/config/plugins/visualizations/fits_image_viewer/config/fits_image_viewer.xml +++ b/config/plugins/visualizations/fits_image_viewer/config/fits_image_viewer.xml @@ -1,6 +1,6 @@ - + Basic plugin for fits file visualization with aladin-lite viewer diff --git a/config/plugins/visualizations/h5web/config/h5web.xml b/config/plugins/visualizations/h5web/config/h5web.xml index 48a767d8bf2a..a06faaabe49c 100644 --- a/config/plugins/visualizations/h5web/config/h5web.xml +++ b/config/plugins/visualizations/h5web/config/h5web.xml @@ -1,6 +1,6 @@ - + HDF5 data visualization and exploration diff --git a/config/plugins/visualizations/heatmap/config/heatmap.xml b/config/plugins/visualizations/heatmap/config/heatmap.xml index e69a5ffb1b58..c1a95a5c4781 100644 --- a/config/plugins/visualizations/heatmap/config/heatmap.xml +++ b/config/plugins/visualizations/heatmap/config/heatmap.xml @@ -1,9 +1,9 @@ - + Renders a heatmap from matrix data provided in 3-column format (x, y, observation). - + diff --git a/config/plugins/visualizations/heatmap/static/logo.svg b/config/plugins/visualizations/heatmap/static/logo.svg index 41c80b8f2c16..7dab3d8c7567 100644 --- a/config/plugins/visualizations/heatmap/static/logo.svg +++ b/config/plugins/visualizations/heatmap/static/logo.svg @@ -1,4 +1,4 @@ - + diff --git a/config/plugins/visualizations/ngl/config/ngl.xml b/config/plugins/visualizations/ngl/config/ngl.xml index 18607ed2c427..4ef14bb4d556 100644 --- a/config/plugins/visualizations/ngl/config/ngl.xml +++ b/config/plugins/visualizations/ngl/config/ngl.xml @@ -1,6 +1,6 @@ - + NGL Viewer is a WebGL based molecular visualization hosted at http://arose.github.io/ngl/. @@ -13,7 +13,7 @@ dataset_id - + diff --git a/config/plugins/visualizations/openlayers/config/openlayers.xml b/config/plugins/visualizations/openlayers/config/openlayers.xml index 2fb0ae6ca428..e54f99b7dd44 100644 --- a/config/plugins/visualizations/openlayers/config/openlayers.xml +++ b/config/plugins/visualizations/openlayers/config/openlayers.xml @@ -1,6 +1,6 @@ - + A viewer to show maps using OpenLayers from https://openlayers.org/ @@ -14,7 +14,7 @@ dataset_id - + diff --git a/config/plugins/visualizations/phylocanvas/config/phylocanvas.xml b/config/plugins/visualizations/phylocanvas/config/phylocanvas.xml index f1346e14059c..ff84ecfcfb45 100644 --- a/config/plugins/visualizations/phylocanvas/config/phylocanvas.xml +++ b/config/plugins/visualizations/phylocanvas/config/phylocanvas.xml @@ -1,6 +1,6 @@ - + A performant, reusable, and extensible tree visualisation from the Centre for Genomic Pathogen Surveillance at https://www.phylocanvas.gl @@ -14,7 +14,7 @@ dataset_id - + diff --git a/config/plugins/visualizations/plotly/config/plotly.xml b/config/plugins/visualizations/plotly/config/plotly.xml index d361cd5cdf47..82cb52b592e2 100644 --- a/config/plugins/visualizations/plotly/config/plotly.xml +++ b/config/plugins/visualizations/plotly/config/plotly.xml @@ -1,6 +1,6 @@ - + Basic Diagrams from Plotly Graphing Library. @@ -14,7 +14,7 @@ dataset_id - + diff --git a/config/plugins/visualizations/plotly_box/config/plotly_box.xml b/config/plugins/visualizations/plotly_box/config/plotly_box.xml index 57d8a2d32227..dbab0290472f 100644 --- a/config/plugins/visualizations/plotly_box/config/plotly_box.xml +++ b/config/plugins/visualizations/plotly_box/config/plotly_box.xml @@ -1,6 +1,6 @@ - + Box Plot from Plotly Graphing Library. diff --git a/config/plugins/visualizations/plotly_histogram/config/plotly_histogram.xml b/config/plugins/visualizations/plotly_histogram/config/plotly_histogram.xml index ce16b868b546..35780e2faebd 100644 --- a/config/plugins/visualizations/plotly_histogram/config/plotly_histogram.xml +++ b/config/plugins/visualizations/plotly_histogram/config/plotly_histogram.xml @@ -1,6 +1,6 @@ - + Histogram from Plotly Graphing Library. diff --git a/config/plugins/visualizations/tiffviewer/config/tiffviewer.xml b/config/plugins/visualizations/tiffviewer/config/tiffviewer.xml index 84d14366f62c..4d8f0bed2818 100644 --- a/config/plugins/visualizations/tiffviewer/config/tiffviewer.xml +++ b/config/plugins/visualizations/tiffviewer/config/tiffviewer.xml @@ -1,6 +1,6 @@ - + Tiff Image Viewer diff --git a/config/plugins/visualizations/trackster/config/trackster.xml b/config/plugins/visualizations/trackster/config/trackster.xml index 585ce3f73be7..ac0cb8a41b9a 100644 --- a/config/plugins/visualizations/trackster/config/trackster.xml +++ b/config/plugins/visualizations/trackster/config/trackster.xml @@ -1,6 +1,6 @@ - + Fast, interactive visualization for large, NGS/HTS datasets using only a web browser. diff --git a/config/plugins/visualizations/ts_visjs/config/ts_visjs.xml b/config/plugins/visualizations/ts_visjs/config/ts_visjs.xml index 697ee498551b..d4d775e68908 100644 --- a/config/plugins/visualizations/ts_visjs/config/ts_visjs.xml +++ b/config/plugins/visualizations/ts_visjs/config/ts_visjs.xml @@ -1,6 +1,6 @@ - + - visjs-based interactive visualization of transition system in graph form. diff --git a/config/plugins/visualizations/venn/config/venn.xml b/config/plugins/visualizations/venn/config/venn.xml index 1e9140135ea9..d8b7d48561b2 100644 --- a/config/plugins/visualizations/venn/config/venn.xml +++ b/config/plugins/visualizations/venn/config/venn.xml @@ -1,6 +1,6 @@ - + A javascript library for laying out area proportional venn and euler diagrams hosted at https://github.com/benfred/venn.js. @@ -14,7 +14,7 @@ dataset_id - + diff --git a/config/plugins/visualizations/vizarr/config/vizarr.xml b/config/plugins/visualizations/vizarr/config/vizarr.xml index a6bc313c20de..5c4196460108 100644 --- a/config/plugins/visualizations/vizarr/config/vizarr.xml +++ b/config/plugins/visualizations/vizarr/config/vizarr.xml @@ -1,6 +1,6 @@ - + Basic visualization for Zarr-based images like OME-Zarr diff --git a/lib/galaxy/managers/markdown_parse.py b/lib/galaxy/managers/markdown_parse.py index 1cdcb2b1a090..f59fa26d2443 100644 --- a/lib/galaxy/managers/markdown_parse.py +++ b/lib/galaxy/managers/markdown_parse.py @@ -27,49 +27,48 @@ class DynamicArguments: DYNAMIC_ARGUMENTS = DynamicArguments() SHARED_ARGUMENTS: List[str] = ["collapse"] VALID_ARGUMENTS: Dict[str, Union[List[str], DynamicArguments]] = { - "history_link": ["history_id", "invocation_id"], - "history_dataset_display": ["invocation_id", "input", "output", "history_dataset_id"], - "history_dataset_embedded": ["invocation_id", "input", "output", "history_dataset_id"], - "history_dataset_as_image": ["invocation_id", "input", "output", "history_dataset_id", "path"], + "generate_galaxy_version": [], + "generate_time": [], + "history_dataset_as_image": ["history_dataset_id", "input", "invocation_id", "output", "path"], "history_dataset_as_table": [ - "invocation_id", + "compact", + "footer", + "history_dataset_id", "input", + "invocation_id", "output", - "history_dataset_id", "path", - "title", - "footer", "show_column_headers", - "compact", + "title", ], - "history_dataset_peek": ["invocation_id", "input", "output", "history_dataset_id"], - "history_dataset_info": ["invocation_id", "input", "output", "history_dataset_id"], - "history_dataset_link": ["invocation_id", "input", "output", "history_dataset_id", "path", "label"], - "history_dataset_index": ["invocation_id", "input", "output", "history_dataset_id", "path"], - "history_dataset_name": ["invocation_id", "input", "output", "history_dataset_id"], - "history_dataset_type": ["invocation_id", "input", "output", "history_dataset_id"], - "history_dataset_collection_display": ["invocation_id", "input", "output", "history_dataset_collection_id"], - "workflow_display": ["invocation_id", "workflow_id", "workflow_checkpoint"], - "workflow_license": ["invocation_id", "workflow_id"], - "workflow_image": ["invocation_id", "workflow_id", "size", "workflow_checkpoint"], - "job_metrics": ["invocation_id", "step", "job_id", "implicit_collection_jobs_id"], - "job_parameters": ["invocation_id", "step", "job_id", "implicit_collection_jobs_id"], - "tool_stderr": ["invocation_id", "step", "job_id", "implicit_collection_jobs_id"], - "tool_stdout": ["invocation_id", "step", "job_id", "implicit_collection_jobs_id"], - "generate_galaxy_version": [], - "generate_time": [], + "history_dataset_collection_display": ["history_dataset_collection_id", "input", "invocation_id", "output"], + "history_dataset_display": ["history_dataset_id", "input", "invocation_id", "output"], + "history_dataset_embedded": ["history_dataset_id", "input", "invocation_id", "output"], + "history_dataset_index": ["history_dataset_id", "input", "invocation_id", "output", "path"], + "history_dataset_info": ["history_dataset_id", "input", "invocation_id", "output"], + "history_dataset_link": ["history_dataset_id", "input", "invocation_id", "output", "path", "label"], + "history_dataset_name": ["history_dataset_id", "input", "invocation_id", "output"], + "history_dataset_peek": ["history_dataset_id", "input", "invocation_id", "output"], + "history_dataset_type": ["history_dataset_id", "input", "invocation_id", "output"], + "history_link": ["history_id", "invocation_id"], "instance_access_link": [], - "instance_resources_link": [], + "instance_citation_link": [], "instance_help_link": [], + "instance_organization_link": [], + "instance_resources_link": [], "instance_support_link": [], - "instance_citation_link": [], "instance_terms_link": [], - "instance_organization_link": [], - "visualization": DYNAMIC_ARGUMENTS, - # Invocation Flavored Markdown - "invocation_time": ["invocation_id"], - "invocation_outputs": ["invocation_id"], "invocation_inputs": ["invocation_id"], + "invocation_outputs": ["invocation_id"], + "invocation_time": ["invocation_id"], + "job_metrics": ["implicit_collection_jobs_id", "invocation_id", "job_id", "step"], + "job_parameters": ["footer", "implicit_collection_jobs_id", "invocation_id", "job_id", "step"], + "tool_stderr": ["implicit_collection_jobs_id", "invocation_id", "job_id", "step"], + "tool_stdout": ["implicit_collection_jobs_id", "invocation_id", "job_id", "step"], + "visualization": DYNAMIC_ARGUMENTS, + "workflow_display": ["invocation_id", "workflow_checkpoint", "workflow_id"], + "workflow_image": ["invocation_id", "workflow_checkpoint", "workflow_id", "size"], + "workflow_license": ["invocation_id", "workflow_id"], } GALAXY_FLAVORED_MARKDOWN_CONTAINERS = list(VALID_ARGUMENTS.keys()) GALAXY_FLAVORED_MARKDOWN_CONTAINER_REGEX = r"(?P{})".format("|".join(GALAXY_FLAVORED_MARKDOWN_CONTAINERS)) diff --git a/lib/galaxy/visualization/plugins/config_parser.py b/lib/galaxy/visualization/plugins/config_parser.py index 09ec7acc6a99..3f9330059dc9 100644 --- a/lib/galaxy/visualization/plugins/config_parser.py +++ b/lib/galaxy/visualization/plugins/config_parser.py @@ -75,12 +75,12 @@ def parse_visualization(self, xml_tree): log.info("Visualizations plugin disabled: %s. Skipping...", returned["name"]) return None - # record the embeddable flag - defaults to true - returned["embeddable"] = True + # record the embeddable flag - defaults to False + returned["embeddable"] = False if "embeddable" in xml_tree.attrib: returned["embeddable"] = asbool(xml_tree.attrib.get("embeddable")) - # record the visible flag - defaults to true + # record the visible flag - defaults to False returned["hidden"] = False if "hidden" in xml_tree.attrib: returned["hidden"] = asbool(xml_tree.attrib.get("hidden")) diff --git a/lib/galaxy/webapps/galaxy/controllers/page.py b/lib/galaxy/webapps/galaxy/controllers/page.py index ec4ff9ca9ca7..ded11eaa191a 100644 --- a/lib/galaxy/webapps/galaxy/controllers/page.py +++ b/lib/galaxy/webapps/galaxy/controllers/page.py @@ -52,7 +52,6 @@ def create(self, trans, payload=None, **kwd): title = "" slug = "" content = "" - content_hide = True if "invocation_id" in kwd: invocation_id = kwd.get("invocation_id") form_title = f"{form_title} from Invocation Report" @@ -62,7 +61,6 @@ def create(self, trans, payload=None, **kwd): ) title = invocation_report.get("title") content = invocation_report.get("markdown") - content_hide = False return { "title": form_title, "inputs": [ @@ -93,7 +91,7 @@ def create(self, trans, payload=None, **kwd): "label": "Content", "area": True, "value": content, - "hidden": content_hide, + "hidden": True, }, ], }