From 0cc2bab49bb0ad745d11af3885f18b4a7178b760 Mon Sep 17 00:00:00 2001 From: John Chilton Date: Wed, 4 Dec 2024 11:05:55 -0500 Subject: [PATCH] ListPairs Usability - disable the clear filter button if nothing to clear. --- .../Collections/PairedListCollectionCreator.vue | 5 +++++ lib/galaxy/selenium/navigates_galaxy.py | 12 +++++++++--- lib/galaxy_test/selenium/test_collection_builders.py | 3 +-- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/client/src/components/Collections/PairedListCollectionCreator.vue b/client/src/components/Collections/PairedListCollectionCreator.vue index 1287d64b7f01..d9150541ca90 100644 --- a/client/src/components/Collections/PairedListCollectionCreator.vue +++ b/client/src/components/Collections/PairedListCollectionCreator.vue @@ -93,6 +93,10 @@ const hasFilter = computed(() => forwardFilter.value || reverseFilter.value); const strategy = ref(autoPairLCS); const duplicatePairNames = ref([]); +const canClearFilters = computed(() => { + return forwardFilter.value || reverseFilter.value; +}); + const canAutoPair = computed(() => { return forwardFilter.value && reverseFilter.value; }); @@ -1144,6 +1148,7 @@ function _naiveStartingAndEndingLCS(s1: string, s2: string) { diff --git a/lib/galaxy/selenium/navigates_galaxy.py b/lib/galaxy/selenium/navigates_galaxy.py index 141d6e1c28ec..bccafc32e933 100644 --- a/lib/galaxy/selenium/navigates_galaxy.py +++ b/lib/galaxy/selenium/navigates_galaxy.py @@ -914,8 +914,7 @@ def upload_paired_list(self, test_paths, name="test", ext=None, genome=None, hid if not hide_source_items: self.collection_builder_hide_originals() - self.collection_builder_clear_filters() - # TODO: generalize and loop these clicks so we don't need the assert + self.ensure_collection_builder_filters_cleared() assert len(test_paths) == 2 self.collection_builder_click_paired_item("forward", 0) self.collection_builder_click_paired_item("reverse", 1) @@ -2053,8 +2052,15 @@ def collection_builder_hide_originals(self): def collection_builder_create(self): self.wait_for_and_click_selector("button.create-collection") + def ensure_collection_builder_filters_cleared(self): + clear_filters = self.components.collection_builders.clear_filters + element = clear_filters.wait_for_present() + if "disabled" not in element.get_attribute("class").split(" "): + self.collection_builder_clear_filters() + def collection_builder_clear_filters(self): - self.wait_for_and_click_selector("button.clear-filters-link") + clear_filters = self.components.collection_builders.clear_filters + clear_filters.wait_for_and_click() def collection_builder_click_paired_item(self, forward_or_reverse, item): assert forward_or_reverse in ["forward", "reverse"] diff --git a/lib/galaxy_test/selenium/test_collection_builders.py b/lib/galaxy_test/selenium/test_collection_builders.py index 24b47a825cf3..2c57e632e8b5 100644 --- a/lib/galaxy_test/selenium/test_collection_builders.py +++ b/lib/galaxy_test/selenium/test_collection_builders.py @@ -39,7 +39,6 @@ def test_build_paired_list_simple(self): self.perform_upload(self.get_filename("2.tabular")) self._wait_for_and_select([1, 2]) self._collection_dropdown("build list of pairs") - self.collection_builder_clear_filters() self.collection_builder_click_paired_item("forward", 0) self.collection_builder_click_paired_item("reverse", 1) self.collection_builder_set_name("my awesome paired list") @@ -61,7 +60,7 @@ def test_build_paired_list_show_original(self): self._wait_for_and_select([1, 2]) self._collection_dropdown("build list of pairs") collection_builders = self.components.collection_builders - collection_builders.clear_filters.wait_for_and_click() + self.ensure_collection_builder_filters_cleared() forward_column = collection_builders.forward_datasets.wait_for_visible() first_datset_forward = forward_column.find_elements(self.by.CSS_SELECTOR, "li")[0] first_datset_forward.click()