mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Merge branch 'release_24.1' into dev
This commit is contained in:
@@ -54,6 +54,22 @@ export class LazyMutateStepAction<K extends keyof Step> extends LazyUndoRedoActi
|
||||
}
|
||||
}
|
||||
|
||||
function onLabelSet(
|
||||
classInstance: LazySetLabelAction | LazySetOutputLabelAction,
|
||||
from: string | null | undefined,
|
||||
to: string | null | undefined
|
||||
) {
|
||||
const markdown = classInstance.stateStore.report.markdown ?? "";
|
||||
const newMarkdown = replaceLabel(markdown, classInstance.labelType, from, to);
|
||||
|
||||
if (markdown !== newMarkdown) {
|
||||
classInstance.stateStore.report.markdown = newMarkdown;
|
||||
classInstance.success(
|
||||
`${classInstance.labelTypeTitle} label updated from "${from}" to "${to}" in workflow report.`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export class LazySetLabelAction extends LazyMutateStepAction<"label"> {
|
||||
labelType: "input" | "step";
|
||||
labelTypeTitle: "Input" | "Step";
|
||||
@@ -80,24 +96,13 @@ export class LazySetLabelAction extends LazyMutateStepAction<"label"> {
|
||||
this.success = useToast().success;
|
||||
}
|
||||
|
||||
private toast(from: string, to: string) {
|
||||
this.success(`${this.labelTypeTitle} label updated from "${from}" to "${to}" in workflow report.`);
|
||||
}
|
||||
|
||||
run() {
|
||||
const markdown = this.stateStore.report.markdown ?? "";
|
||||
const newMarkdown = replaceLabel(markdown, this.labelType, this.fromValue as string, this.toValue as string);
|
||||
this.stateStore.report.markdown = newMarkdown;
|
||||
this.toast(this.fromValue ?? "", this.toValue ?? "");
|
||||
onLabelSet(this, this.fromValue, this.toValue);
|
||||
}
|
||||
|
||||
undo() {
|
||||
super.undo();
|
||||
|
||||
const markdown = this.stateStore.report.markdown ?? "";
|
||||
const newMarkdown = replaceLabel(markdown, this.labelType, this.toValue as string, this.fromValue as string);
|
||||
this.stateStore.report.markdown = newMarkdown;
|
||||
this.toast(this.toValue ?? "", this.fromValue ?? "");
|
||||
onLabelSet(this, this.toValue, this.fromValue);
|
||||
}
|
||||
|
||||
redo() {
|
||||
@@ -111,6 +116,8 @@ export class LazySetOutputLabelAction extends LazyMutateStepAction<"workflow_out
|
||||
fromLabel;
|
||||
toLabel;
|
||||
stateStore;
|
||||
labelType = "output" as const;
|
||||
labelTypeTitle = "Output" as const;
|
||||
|
||||
constructor(
|
||||
stepStore: WorkflowStepStore,
|
||||
@@ -132,25 +139,13 @@ export class LazySetOutputLabelAction extends LazyMutateStepAction<"workflow_out
|
||||
this.success = useToast().success;
|
||||
}
|
||||
|
||||
private toast(from: string, to: string) {
|
||||
this.success(`Output label updated from "${from}" to "${to}" in workflow report.`);
|
||||
}
|
||||
|
||||
run() {
|
||||
const markdown = this.stateStore.report.markdown ?? "";
|
||||
const newMarkdown = replaceLabel(markdown, "output", this.fromLabel, this.toLabel);
|
||||
this.stateStore.report.markdown = newMarkdown;
|
||||
this.toast(this.fromLabel ?? "", this.toLabel ?? "");
|
||||
onLabelSet(this, this.fromLabel, this.toLabel);
|
||||
}
|
||||
|
||||
undo() {
|
||||
super.undo();
|
||||
|
||||
const markdown = this.stateStore.report.markdown ?? "";
|
||||
const newMarkdown = replaceLabel(markdown, "output", this.toLabel, this.fromLabel);
|
||||
this.stateStore.report.markdown = newMarkdown;
|
||||
|
||||
this.toast(this.toLabel ?? "", this.fromLabel ?? "");
|
||||
onLabelSet(this, this.toLabel, this.fromLabel);
|
||||
}
|
||||
|
||||
redo() {
|
||||
|
||||
@@ -2903,6 +2903,7 @@ mapping:
|
||||
type: str
|
||||
default: default
|
||||
required: false
|
||||
per_host: true
|
||||
desc: |
|
||||
Default tool panel view for the current Galaxy configuration. This should refer to an id of
|
||||
a panel view defined using the panel_views or panel_views_dir configuration options or an
|
||||
|
||||
@@ -156,7 +156,7 @@ class AbstractToolBox(Dictifiable, ManagesIntegratedToolPanelMixin):
|
||||
Create a toolbox from the config files named by `config_filenames`, using
|
||||
`tool_root_dir` as the base directory for finding individual tool config files.
|
||||
"""
|
||||
self._default_panel_view = default_panel_view
|
||||
self.__default_panel_view = default_panel_view
|
||||
# The _dynamic_tool_confs list contains dictionaries storing
|
||||
# information about the tools defined in each shed-related
|
||||
# shed_tool_conf.xml file.
|
||||
@@ -238,6 +238,14 @@ class AbstractToolBox(Dictifiable, ManagesIntegratedToolPanelMixin):
|
||||
if save_integrated_tool_panel:
|
||||
self._save_integrated_tool_panel()
|
||||
|
||||
def _default_panel_view(self, trans):
|
||||
config = self.app.config
|
||||
if hasattr(config, "config_value_for_host"):
|
||||
config_value = config.config_value_for_host("default_panel_view", trans.host)
|
||||
else:
|
||||
config_value = getattr(config, "default_panel_view", None)
|
||||
return config_value or self.__default_panel_view
|
||||
|
||||
def create_tool(self, config_file, tool_shed_repository=None, guid=None, **kwds):
|
||||
raise NotImplementedError()
|
||||
|
||||
@@ -1275,7 +1283,7 @@ class AbstractToolBox(Dictifiable, ManagesIntegratedToolPanelMixin):
|
||||
def tool_panel_contents(self, trans, view=None, **kwds):
|
||||
"""Filter tool_panel contents for displaying for user."""
|
||||
if view is None:
|
||||
view = self._default_panel_view
|
||||
view = self._default_panel_view(trans)
|
||||
if view not in self._tool_panel_view_rendered:
|
||||
raise RequestParameterInvalidException(f"No panel view {view} found.")
|
||||
filter_method = self._build_filter_method(trans)
|
||||
@@ -1338,7 +1346,7 @@ class AbstractToolBox(Dictifiable, ManagesIntegratedToolPanelMixin):
|
||||
{section_id: { section but with .tools=List[all tool ids] }, ...}}
|
||||
"""
|
||||
if view == "default_panel_view":
|
||||
view = self._default_panel_view
|
||||
view = self._default_panel_view(trans)
|
||||
view_contents: Dict[str, Dict] = {}
|
||||
panel_elts = self.tool_panel_contents(trans, view=view, **kwds)
|
||||
for elt in panel_elts:
|
||||
|
||||
@@ -185,7 +185,7 @@ class ToolsController(BaseGalaxyAPIController, UsesVisualizationMixin):
|
||||
"""
|
||||
|
||||
rval = {}
|
||||
rval["default_panel_view"] = self.app.toolbox._default_panel_view
|
||||
rval["default_panel_view"] = self.app.toolbox._default_panel_view(trans)
|
||||
rval["views"] = self.app.toolbox.panel_view_dicts()
|
||||
return rval
|
||||
|
||||
|
||||
Reference in New Issue
Block a user