-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor User Preferred Object Store Select #19697
Draft
itisAliRH
wants to merge
59
commits into
galaxyproject:dev
Choose a base branch
from
itisAliRH:user-preferred-object-store-select-redesign
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Refactor User Preferred Object Store Select #19697
itisAliRH
wants to merge
59
commits into
galaxyproject:dev
from
itisAliRH:user-preferred-object-store-select-redesign
+965
−640
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Moves breakpoints SCSS file to a more appropriate directory for improved project structure and reusability and updates import paths in related components for consistency and clarity
Introduces `isHtml` prop to render description as HTML Adds `showExpandText` prop to toggle expand text visibility Updates styles for expand button and floating behavior
Replaces BRow and BCol with a flexbox layout Updates prop type definitions and usage Removes unused imports and adds Heading component
Introduces detailed information for each file source type, including icons and descriptive messages. Adds valid filters for file sources based on name and type.
Introduces a new component to display file source templates. Includes functionality for filtering by type and selecting templates. Applies responsive design and styling for different screen sizes.
Adds search and filter functionality for file source templates Use FileSourceTemplateCard for each available template Improves error handling and loading indicators Updates UI components for better user experience
Introduces navigation links to 'Remote File Sources' and 'Templates' pages Adds a heading component for better structure and readability
Deletes the SelectTemplate.vue file from the FileSources/Templates directory. This component is no longer needed as part of the refactoring of file source templates.
…eader Introduces a new 'header' prop to ManageIndexHeader component Updates button ID generation to be dynamic based on the header Replaces static create button IDs in various components
Includes headers "Storage Locations" and "Remote File Sources" to the props of the respective routes for better clarity.
Move FileSourceTemplateCard to the generic SourceTemplateCard component under ConfigTemplates Unifies template selection handling for file sources and object stores
Replaces FileSourceTemplateCard with SourceTemplateCard Adds user preferences icon and type icon handling Improves template type label styling and filtering
Introduces a new heading component with navigation links for better user navigation. Imports necessary components and updates the template structure.
Introduces object store template types with associated icons and messages Adds valid filters for object store templates based on name and type
Replaces string-based FontAwesome icon references with direct imports Refactors badge type interface and prop definitions Enhances tooltip functionality with dynamic title generation
Deletes the badgeIcons.ts file which contained unused FontAwesome icon imports to clean up the codebase.
Replaces BadgeType with ObjectStoreBadgeType for better type clarity Simplifies props definition and removes unused properties Updates import paths for consistency Adds scoped styles for improved layout and appearance
Replaces template selection components with new UI elements Adds filtering functionality for template types Integrates Bootstrap-Vue and FontAwesome for improved styling Updates computed properties and methods for filtering logic
Replaces the import and usage of BadgeType with ObjectStoreBadgeType to improve type clarity and consistency in TemplateSummary.vue.
Deletes the SelectTemplate.vue file as it is no longer needed in the project.
Deletes the SelectTemplate.vue file from the ConfigTemplates directory.
Updates SCSS import paths to reference the renamed `_breakpoints.scss` file ref https://github.com/galaxyproject/galaxy/pull/19521/files#r1954598636
Replaces Heading component with BreadcrumbHeading for improved UI consistency. Removes unused imports and adds computed property for breadcrumb items.
Updates the FileSources/CreateInstance component to use a BreadcrumbHeading component. Removes unused components.
Removes unused imports and simplifies template by using BreadcrumbHeading component
Updates navigation structure to use BreadcrumbHeading Removes unused imports and improves breadcrumb navigation
Wraps loading message in BAlert for better visibility Localizes loading message for improved user experience
Update component with improved layout and optional grid view.
Simplifies imports and removes unused dependencies Replaces template terminology with option terminology Introduces breadcrumb navigation and list view toggle Streamlines filtering logic and improves readability
Replaces separate icon and title props with a single optionType prop for better type safety and code readability.
Deletes outdated unit tests for SelectTemplate
Enhances mocked directive bind method to set data attributes
Introduces constant messages for different storage states such as restricted access, quota settings, speed, security, stability, and cloud storage. These messages will be used to inform users about the properties and management of their storage locations.
Moves badge messages to a separate file for better organization Simplifies template structure by removing redundant span tags
Updates test assertions and helper functions accordingly to test tooltip. Replaces existing JS tests for ObjectStoreBadge with TS tests to improve type safety and maintainability.
Renames ObjectStoreBadges test file to TypeScript Updates imports to include '.vue' extension Adds type assertion for shallowMount component Corrects badge size attribute in test assertions
Moves BreadcrumbItem interface to a shared index file for reuse across components. Simplifies BreadcrumbHeading component by importing the shared type.
Introduces SourceOptionsList component to display and filter source options Implements filtering logic and UI for the list Includes loading and empty state alerts for better UX Adds scoped styles for the new component
Replaces multiple individual components with a unified `SourceOptionsList` component. Moves template initialization to onMounted hook. Removes unused imports and redundant code.
Simplifies component by removing unused imports and filtering logic Replaces individual elements with SourceOptionsList component for better modularity
Includes headers "Storage Locations" and "Remote File Sources" to the props of the respective routes for better clarity.
Introduces an optional 'showBadges' prop to SourceOptionsList component. Replaces slot-based badge rendering with ObjectStoreBadges component. Removes redundant badge rendering from CreateUserObjectStore.
Adds unique IDs to select buttons for better identification in SourceOptionCard Modifies navigation selectors to use updated button IDs
… API Migrates from Vue 2 Options API to Vue 3 Composition API for better maintainability and readability. Replaces Vue instance methods and lifecycle hooks with setup function, refs, and computed properties. Updates modal and font icon usage to align with new component structure. Fixes layout and style issues with the modal dialog.
Adds computed properties for uniqueId, buttonTitle, and buttonTooltip Introduces optional props 'selected', 'submitButtonTooltip', and 'selectionMode' Updates styles for selected state Implements emit for 'select' event Improves user interaction and flexibility of SourceOptionCard component
Replaces button-based object store selection with SourceOptionCard components Removes unused imports and refactors prop types to use lowercase Simplifies handleSubmit function and error handling Enhances user interface for better usability and maintainability
Export type definition for UserConcreteObjectStoreModel in API schema handling.
Replaces ConcreteObjectStoreModel with UserConcreteObjectStoreModel in SourceOption type Enhances uniqueId computation to handle object_store_id Adds data attribute to source option card for easier identification
Replaces ConcreteObjectStoreModel with UserConcreteObjectStoreModel. Simplifies isLoaded computed property logic. Typecasts loaded data to ensure correct type.
Replaces ConcreteObjectStoreModel with UserConcreteObjectStoreModel. Adds new fields to default object store configuration because of the new type
Replaces option buttons with modal and option cards in object store selection. Refactors schema to align with new UI structure.
Converts `UserPreferredObjectStore.test.js` to TypeScript, updates import paths, and refactors component and selector names for consistency and clarity. Simplifies test logic by removing obsolete constants and correcting assertions.
Updates handleSubmit function to check for "__null__" ID and set it to null.
jmchilton
reviewed
Feb 25, 2025
<div v-else> | ||
<b-alert v-if="error" variant="danger" class="object-store-selection-error" show> | ||
<span v-localize> | ||
Select a preferred storage location for new datasets. Depending on the job and workflow execution |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you make the extra text dependent on the option again? I think adding that option in was a solid usability enhancement for main.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces a redesign of the User Preferred Object Store Selection modal, aiming to enhance user experience through a consistent and modernized interface.
Required: #19521
Refactor.User.Preferred.Object.Store.Select.mp4
Key Changes:
SourceOptionCard
How to test the changes?
(Select all options that apply)
User Preferences
Preferred Storage Location
License