Skip to content
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

Bulk copy-paste functionality in search bar in PartView #1428

Open
max-wies-cofinity opened this issue Feb 27, 2025 · 0 comments
Open

Bulk copy-paste functionality in search bar in PartView #1428

max-wies-cofinity opened this issue Feb 27, 2025 · 0 comments

Comments

@max-wies-cofinity
Copy link

As user, ... ,
I want to paste multiple identifiers into the search bar at once ,
so that I can efficiently search for several parts without entering their identifiers individually.

Hints / Details

  • Input Handling: The search bar should be capable of accepting multiple part identifiers pasted from the clipboard. The system will automatically trim any leading and trailing spaces from the pasted input to ensure clean processing.

  • Separator Recognition: The system must recognize and correctly process identifiers separated by spaces, tabs, semicolons, commas, CRLF, or pipes. This flexibility accommodates various data entry formats and ensures seamless integration with user workflows.

  • Omitting empty identifiers: Empty Identifiers should be ignored. This also handles cases like double separators (e.g. “ABC, DEF,,XYZ” → “ABC” “DEF” “XYZ”)

  • Excel Support: Users should be able to copy & paste data from from Excel (column and row wise). Currently data copied from Excel is automatically formatted into space / tab separated lists. So this should not require any additional implementation effort on top of the above mentioned separator recognition.

  • Search Logic: Each pasted identifier should be searched across all currently supported ID fields (id, idShort, semanticModelId, manufacturerPartId, customerPartId, businessPartner) using start with OR logic, ensuring comprehensive retrieval of relevant parts.
    For example, if the term "ASD XZY" is entered, the system should search for records where any of the ID fields start either with"ASD" or "XZY".

  • UI Design - 1: Each identifier is represented as a chip within the search bar,

Acceptance Criteria

Feature: Bulk Identifier Search Functionality

Background: Given the user is on the search page with an empty search bar

Scenario: Recognizing different separators
Given the user has copied "ASD;XYZ,123|456(CRLF)ABCS"
When the user pastes this into the search bar and clicks on search
Then the search bar should contain "ASD", "XYZ", "123", "456" as identifiers
And start the search (different scenario)

* (CRLF) = Carriage Return Line Feed

Scenario: Ignoring empty identifiers
Given the user has copied identifiers "ASD,,XYZ,,123"
When the user pastes them into the search bar
Then the search bar should contain "ASD", "XYZ", "123" as identifiers
And the empty identifiers should be ignored

Scenario: Trimming spaces from pasted input
Given the user has copied the term " ASD 123 XYZ "
When the user pastes it into the search bar and clicks on search
Then the search bar should contain "ASD", "123", "XYZ" as identifiers
And start the search (different scenario)

Scenario: Pasting column-wise data from Excel
Given the user has copied a column of identifiers from Excel
When the user pastes them into the search bar
Then the search bar should contain each new cell separated by a space

Scenario: Pasting row-wise data from Excel
Given the user has copied a row of identifiers from Excel
When the user pastes them into the search bar
Then the search bar should contain each new cell separated by a tab

Scenario Outline: Searching across all ID fields using OR logic
Given the user has entered the identifiers ","
When the user initiates the search
Then the system should search for records where any ID field start with "" or ""
And the search should include the fields: id, idShort, semanticModelId, manufacturerPartId, businessPartner

Scenario: Displaying identifiers as chips
Given the user has pasted "ASD,123,XYZ
When the search has been started
Then each identifier should be displayed as a chip in the global search bar
And each chip should have an "x" for deletion

Scenario: Handling long identifiers
Given the user pastes an identifier "ThisIdentifierIsWayTooLongForTheChip"
When the search bar processes the input
Then the identifier chip should display "ThisIdentifierIsWayT..."

Scenario: Deleting single identifiers
Given the search bar contains identifiers "ASD", "123", "XYZ"
When the user clicks the "x" on the "123" chip
Then "123" should be removed from the search bar
And the search should be restarted with the remaining identifiers

Scenario: Resetting the entire search input
Given the search bar contains identifiers "ASD", "123", "XYZ"
When the user clicks the global "X" icon on the right side
Then all identifiers should be cleared from the search bar

Scenario: Handling excess identifiers
Given the user pastes more than 10,000 identifiers
When the user initiates the search
Then the system should truncate additional identifiers
And display a warning message to the user

Out of Scope

  • ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: inbox
Development

No branches or pull requests

1 participant