Skip to content

Restriction on Copying and Scrolling #69

Open

Description

@dagrawalla

Description

The log viewer component currently prevents users from scrolling down while copying text. Consequently, only the text visible on the screen can be copied, making it impossible to copy the entire log or reach certain lines that are not initially visible.

The copying and scrolling work with key controls but not with the mouse.

Steps to Reproduce

  1. Open the log viewer component.
  2. Attempt to scroll down while copying the log text.
  3. Observe that copying is restricted to only the visible text on the screen.

Expected Behavior

It should be possible to copy and scroll down the text within the log viewer up to a certain limit, including lines that are not initially visible.

Actual Behavior

Copying is restricted to the text visible on the screen, preventing the entire log text from being copied, including lines that are not visible.

Environment

  • Package Version: ^5.2.0
  • Browser: Chrome, Safari

Screenshots

image

Activity

  1. nicolethoen commented on Jul 4, 2024

    @nicolethoen
    Contributor

    This is an interesting problem, because since the log viewer is vitrtualized, it is only rendering the visible text in the DOM - there is no other text to copy. It might be that a button should be added to the log viewer's toolbar which adds the whole content in the stream to the clipboard?

  2. dagrawalla commented on Jul 4, 2024

    @dagrawalla
    Author

    I have a string of data separated by new lines and an overscan count of approximately 60. Initially, all lines are present in the DOM, and with the overscan count, I expect to copy at least X lines.
    Copying and Scrolling works fine with keyboard controls, but it doesn't work with mouse.

  3. nicolethoen commented on Jul 5, 2024

    @nicolethoen
    Contributor

    hm... yeah using the overScanCount should enable you to copy more lines with mouse click. I'm not sure what's happening here. Will likely take more investigation, and I'm not sure we have bandwidth to dig into this particularly soon. If you discover anything else which may help in the investigation, let us know. We'd absolutely welcome a contribution.

  4. dagrawalla commented on Aug 30, 2024

    @dagrawalla
    Author

    Hi @nicolethoen, Has the issue been resolved in version 5.3.0? Do we need any extra props to be added?

  5. dagrawalla commented on Sep 17, 2024

    @dagrawalla
    Author

    Hi @nicolethoen, do we have any new updates?

  6. nicolethoen commented on Sep 17, 2024

    @nicolethoen
    Contributor

    I don't currently have an update. We haven't had a lot of resources to investigate the log viewer issues super recently. But it still has a P1 tag, so as soon as we do, this is toward the top of the list.

  7. moved this from Needs triage to Needs info in PatternFly Issueson Nov 15, 2024
  8. nicolethoen commented on Nov 18, 2024

    @nicolethoen
    Contributor

    @dagrawalla
    Our team began discussing this issue again during backlog clean up.

    Would either of these solutions work for you?

    1. The copy button does not have to place the contents of the UI into the clipboard. it could be wired up so that clicking the 'copy to clipboard' button copies the entire log file as long as it's available to the frontend. (Not just the visible text on the screen). I think you could wire this up without us needing to make any changes to the component itself.
    2. alternatively, we could enable a non-virtualized version of the log viewer (this new feature would take more time since it's not currently part of the log viewer component). if it's not virtualized, then even if the text is non-visible in the log viewer, it'd still exist in the DOM and allow for it to be copied.

    Would either of those solutions work for you?

  9. removed their assignment
    on Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions