Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/release_24.0' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
dannon committed Mar 15, 2024
2 parents fd328ca + 2c3f15e commit af376f2
Show file tree
Hide file tree
Showing 23 changed files with 407 additions and 248 deletions.
84 changes: 54 additions & 30 deletions client/src/api/schema/schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6852,10 +6852,11 @@ export interface components {
tool_version?: string | null;
/**
* Type
* @description The type of workflow module.
* @default data_collection_input
* @constant
*/
type?: components["schemas"]["WorkflowModuleType"];
type: "data_collection_input";
/** When */
when: string | null;
};
/** InputDataStep */
InputDataStep: {
Expand Down Expand Up @@ -6893,10 +6894,11 @@ export interface components {
tool_version?: string | null;
/**
* Type
* @description The type of workflow module.
* @default data_input
* @constant
*/
type?: components["schemas"]["WorkflowModuleType"];
type: "data_input";
/** When */
when: string | null;
};
/** InputParameterStep */
InputParameterStep: {
Expand Down Expand Up @@ -6934,10 +6936,11 @@ export interface components {
tool_version?: string | null;
/**
* Type
* @description The type of workflow module.
* @default parameter_input
* @constant
*/
type?: components["schemas"]["WorkflowModuleType"];
type: "parameter";
/** When */
when: string | null;
};
/** InputReferenceByLabel */
InputReferenceByLabel: {
Expand Down Expand Up @@ -9703,12 +9706,28 @@ export interface components {
input_steps: {
[key: string]: components["schemas"]["InputStep"] | undefined;
};
/**
* Tool ID
* @description The unique name of the tool associated with this step.
*/
tool_id?: string | null;
/**
* Tool Inputs
* @description TODO
*/
tool_inputs?: Record<string, never>;
/**
* Tool Version
* @description The version of the tool associated with this step.
*/
tool_version?: string | null;
/**
* Type
* @description The type of workflow module.
* @default pause
* @constant
*/
type?: components["schemas"]["WorkflowModuleType"];
type: "pause";
/** When */
when: string | null;
};
/** Person */
Person: {
Expand Down Expand Up @@ -11109,12 +11128,28 @@ export interface components {
input_steps: {
[key: string]: components["schemas"]["InputStep"] | undefined;
};
/**
* Tool ID
* @description The unique name of the tool associated with this step.
*/
tool_id?: string | null;
/**
* Tool Inputs
* @description TODO
*/
tool_inputs?: Record<string, never>;
/**
* Tool Version
* @description The version of the tool associated with this step.
*/
tool_version?: string | null;
/**
* Type
* @description The type of workflow module.
* @default subworkflow
* @constant
*/
type?: components["schemas"]["WorkflowModuleType"];
type: "subworkflow";
/** When */
when: string | null;
/**
* Workflow ID
* @description The encoded ID of the workflow that will be run on this step.
Expand Down Expand Up @@ -11301,10 +11336,11 @@ export interface components {
tool_version?: string | null;
/**
* Type
* @description The type of workflow module.
* @default tool
* @constant
*/
type?: components["schemas"]["WorkflowModuleType"];
type: "tool";
/** When */
when: string | null;
};
/** Tour */
Tour: {
Expand Down Expand Up @@ -12303,18 +12339,6 @@ export interface components {
[key: string]: number | undefined;
};
};
/**
* WorkflowModuleType
* @description Available types of modules that represent a step in a Workflow.
* @enum {string}
*/
WorkflowModuleType:
| "data_input"
| "data_collection_input"
| "parameter_input"
| "subworkflow"
| "tool"
| "pause";
/** WriteInvocationStoreToPayload */
WriteInvocationStoreToPayload: {
/**
Expand Down
11 changes: 10 additions & 1 deletion client/src/components/Grid/GridHistory.vue
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ interface Props {
const props = withDefaults(defineProps<Props>(), {
activeList: "my",
username: undefined,
});
</script>

Expand Down Expand Up @@ -65,8 +66,16 @@ const props = withDefaults(defineProps<Props>(), {
<BNavItem id="histories-published-tab" :active="activeList === 'published'" to="/histories/list_published">
Public Histories
</BNavItem>
<BNavItem id="histories-published-tab" :active="activeList === 'archived'" to="/histories/archived">
<BNavItem
id="histories-archived-tab"
:active="activeList === 'archived'"
:disabled="userStore.isAnonymous"
to="/histories/archived">
Archived Histories
<LoginRequired
v-if="userStore.isAnonymous"
target="histories-archived-tab"
title="Manage your Histories" />
</BNavItem>
</BNav>
<GridList v-if="activeList === 'my'" :grid-config="historiesGridConfig" embedded />
Expand Down
6 changes: 2 additions & 4 deletions client/src/components/Grid/GridList.vue
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@ watch(operationMessage, () => {
</table>
<div class="flex-grow-1 h-100" />
<div class="grid-footer">
<div v-if="isAvailable && gridConfig.batch" class="d-flex justify-content-between pt-3">
<div v-if="isAvailable" class="d-flex justify-content-between pt-3">
<div class="d-flex">
<div v-for="(batchOperation, batchIndex) in gridConfig.batch" :key="batchIndex">
<BButton
Expand All @@ -383,9 +383,6 @@ watch(operationMessage, () => {
</div>
<BPagination v-model="currentPage" :total-rows="totalRows" :per-page="limit" class="m-0" size="sm" />
</div>
<div v-else-if="isAvailable" class="d-flex justify-content-center pt-3">
<BPagination v-model="currentPage" :total-rows="totalRows" :per-page="limit" class="m-0" size="sm" />
</div>
</div>
</div>
</template>
Expand All @@ -402,6 +399,7 @@ watch(operationMessage, () => {
top: 0;
}
.grid-sticky {
left: 0;
z-index: 2;
background: $white;
opacity: 0.95;
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/Grid/configs/histories.ts
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ const fields: FieldArray = [
],
},
{
key: "hid_counter",
key: "count",
title: "Items",
type: "text",
},
Expand Down
1 change: 1 addition & 0 deletions client/src/components/Grid/configs/historiesPublished.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ type SortKeyLiteral = "name" | "update_time" | undefined;
*/
async function getData(offset: number, limit: number, search: string, sort_by: string, sort_desc: boolean) {
const { data, headers } = await historiesFetcher({
view: "summary",
limit,
offset,
search,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,16 @@ const dsc = computed(() => {
}
return currentCollection;
});
const collectionElements = computed(() => collectionElementsStore.getCollectionElements(dsc.value, offset.value));

watch(
() => [dsc.value, offset.value],
() => {
collectionElementsStore.fetchMissingElements(dsc.value, offset.value);
},
{ immediate: true }
);

const collectionElements = computed(() => collectionElementsStore.getCollectionElements(dsc.value) ?? []);
const loading = computed(() => collectionElementsStore.isLoadingCollectionElements(dsc.value));
const jobState = computed(() => ("job_state_summary" in dsc.value ? dsc.value.job_state_summary : undefined));
const populatedStateMsg = computed(() =>
Expand Down Expand Up @@ -99,7 +108,8 @@ watch(
watch(
jobState,
() => {
collectionElementsStore.loadCollectionElements(dsc.value);
collectionElementsStore.invalidateCollectionElements(dsc.value);
collectionElementsStore.fetchMissingElements(dsc.value, offset.value);
},
{ deep: true }
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,24 +22,30 @@ const preferredObjectStoreId = computed(() => {
</script>

<template>
<BPopover :target="`history-storage-${historyId}`" triggers="hover" placement="bottomleft">
<BPopover :target="`history-storage-${historyId}`" triggers="hover" placement="bottomleft" boundary="window">
<template v-slot:title>Preferred Target Object Store</template>

<p v-if="historyPreferredObjectStoreId" class="history-preferred-object-store-inherited">
This target object store has been set at the history level.
</p>
<p v-else class="history-preferred-object-store-not-inherited">
This target object store has been inherited from your user preferences (set in User -> Preferences ->
Preferred Object Store). If that option is updated, this history will target that new default.
</p>

<ShowSelectedObjectStore
v-if="preferredObjectStoreId"
:preferred-object-store-id="preferredObjectStoreId"
for-what="Galaxy will default to storing this history's datasets in " />

<div v-localize>
Change this preference object store target by clicking on the storage button in the history panel.
<div class="popover-wide">
<p v-if="historyPreferredObjectStoreId" class="history-preferred-object-store-inherited">
This target object store has been set at the history level.
</p>
<p v-else class="history-preferred-object-store-not-inherited">
This target object store has been inherited from your user preferences (set in User -> Preferences ->
Preferred Object Store). If that option is updated, this history will target that new default.
</p>

<ShowSelectedObjectStore
v-if="preferredObjectStoreId"
:preferred-object-store-id="preferredObjectStoreId"
for-what="Galaxy will default to storing this history's datasets in " />

<div v-localize>
Change this preference object store target by clicking on the storage button in the history panel.
</div>
</div>
</BPopover>
</template>
<style scoped lang="scss">
.popover-wide {
max-width: 30rem;
}
</style>
22 changes: 20 additions & 2 deletions client/src/components/History/Modals/SelectorModal.vue
Original file line number Diff line number Diff line change
Expand Up @@ -100,16 +100,27 @@ function selectHistories() {
function setFilterValue(newFilter: string, newValue: string) {
filter.value = HistoriesFilters.setFilterValue(filter.value, newFilter, newValue);
}
// hacky workaround for popovers in date pickers being cutoff
// https://github.com/galaxyproject/galaxy/issues/17711
const modalBodyClasses = computed(() => {
return [
"history-selector-modal-body",
showAdvanced.value
? "history-selector-modal-body-allow-overflow"
: "history-selector-modal-body-prevent-overflow",
];
});
</script>

<template>
<div>
<BModal
ref="modal"
v-model="propShowModal"
body-class="history-selector-modal-body"
content-class="history-selector-modal-content"
v-bind="$attrs"
:body-class="modalBodyClasses"
static
centered
hide-footer
Expand Down Expand Up @@ -174,11 +185,18 @@ function setFilterValue(newFilter: string, newValue: string) {
with scoped or lang="scss" */
.history-selector-modal-body {
overflow: hidden;
display: flex;
flex-direction: column;
}
.history-selector-modal-body-allow-overflow {
overflow: visible;
}
.history-selector-modal-body-prevent-overflow {
overflow: hidden;
}
.history-selector-modal-content {
max-height: 80vh !important;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
<template>
<b-popover target="tool-storage" triggers="hover" placement="bottomleft">
<b-popover target="tool-storage" triggers="hover" placement="bottomleft" boundary="window">
<template v-slot:title>{{ title }}</template>
<p v-if="toolPreferredObjectStoreId">
This target object store has been set at the tool level, by default history or user preferences will be used
and if those are not set Galaxy will pick an adminstrator configured default.
</p>
<ShowSelectedObjectStore
v-if="toolPreferredObjectStoreId"
:preferred-object-store-id="toolPreferredObjectStoreId"
for-what="Galaxy will default to storing this tool run's output in">
</ShowSelectedObjectStore>
<div v-else>
No selection has been made for this tool execution. Defaults from history, user, or Galaxy will be used.
</div>
<div v-localize>
Change this preference object store target by clicking on the storage button in the tool header.
<div class="popover-wide">
<p v-if="toolPreferredObjectStoreId">
This target object store has been set at the tool level, by default history or user preferences will be
used and if those are not set Galaxy will pick an adminstrator configured default.
</p>
<ShowSelectedObjectStore
v-if="toolPreferredObjectStoreId"
:preferred-object-store-id="toolPreferredObjectStoreId"
for-what="Galaxy will default to storing this tool run's output in">
</ShowSelectedObjectStore>
<div v-else>
No selection has been made for this tool execution. Defaults from history, user, or Galaxy will be used.
</div>
<div v-localize>
Change this preference object store target by clicking on the storage button in the tool header.
</div>
</div>
</b-popover>
</template>
Expand All @@ -33,3 +35,8 @@ export default {
},
};
</script>
<style scoped lang="scss">
.popover-wide {
max-width: 30rem;
}
</style>
Loading

0 comments on commit af376f2

Please sign in to comment.