Merge pull request #19797 from mvdbeek/fix_collection_builder_input_restriction

[24.2] Fix collection builder input states
This commit is contained in:
John Chilton
2025-03-25 12:00:08 -04:00
committed by GitHub
4 changed files with 27 additions and 19 deletions
@@ -159,7 +159,7 @@ function _isElementInvalid(element: HistoryItemSummary): string | null {
return localize("is a collection, this is not allowed");
}
var validState = element.state === STATES.OK || STATES.NOT_READY_STATES.includes(element.state as string);
const validState = STATES.VALID_INPUT_STATES.includes(element.state as string);
if (!validState) {
return localize("has errored, is paused, or is not accessible");
@@ -199,7 +199,7 @@ function _isElementInvalid(element: HistoryItemSummary) {
return localize("is a collection, this is not allowed");
}
var validState = element.state === STATES.OK || STATES.NOT_READY_STATES.includes(element.state as string);
const validState = STATES.VALID_INPUT_STATES.includes(element.state as string);
if (!validState) {
return localize("has errored, is paused, or is not accessible");
@@ -290,7 +290,7 @@ function _isElementInvalid(element: HistoryItemSummary) {
if (element.history_content_type === "dataset_collection") {
return localize("is a collection, this is not allowed");
}
var validState = element.state === STATES.OK || STATES.NOT_READY_STATES.includes(element.state as string);
const validState = STATES.VALID_INPUT_STATES.includes(element.state as string);
if (!validState) {
return localize("has errored, is paused, or is not accessible");
}
+24 -16
View File
@@ -2,7 +2,7 @@
/** Map of possible HDA/collection/job states to their string equivalents.
* A port of galaxy.model.Dataset.states.
*/
const STATES = {
const RAW_STATES = {
// NOT ready states
/** is uploading and not ready */
UPLOAD: "upload",
@@ -34,23 +34,31 @@ const STATES = {
DEFERRED: "deferred",
/** the tool producing this dataset failed */
ERROR: "error",
READY_STATES: [] as string[],
NOT_READY_STATES: [] as string[],
};
STATES.READY_STATES = [
STATES.OK,
STATES.EMPTY,
STATES.PAUSED,
STATES.FAILED_METADATA,
STATES.NOT_VIEWABLE,
STATES.DEFERRED,
STATES.DISCARDED,
STATES.ERROR,
];
STATES.NOT_READY_STATES = [STATES.UPLOAD, STATES.QUEUED, STATES.RUNNING, STATES.SETTING_METADATA, STATES.NEW];
const STATES = {
...RAW_STATES,
READY_STATES: [
RAW_STATES.OK,
RAW_STATES.EMPTY,
RAW_STATES.PAUSED,
RAW_STATES.FAILED_METADATA,
RAW_STATES.NOT_VIEWABLE,
RAW_STATES.DEFERRED,
RAW_STATES.DISCARDED,
RAW_STATES.ERROR,
],
NOT_READY_STATES: [
RAW_STATES.UPLOAD,
RAW_STATES.QUEUED,
RAW_STATES.RUNNING,
RAW_STATES.SETTING_METADATA,
RAW_STATES.NEW,
],
VALID_INPUT_STATES: Object.values(RAW_STATES).filter(
(state) => ![RAW_STATES.ERROR, RAW_STATES.DISCARDED, RAW_STATES.FAILED_METADATA].includes(state)
),
};
//==============================================================================
export default STATES;