Skip to content

[F2V] Files list #30135

Closed
Closed

Description

@skjnldsv

This ticket is part of the files to vue migration

Goal

Have the files list content based on the OCA.Files.Views Views
WITH VIRTUAL SCROLLING ⚠️

QA

  • No design changes (other than finally using existing vue components)
  • Handle URL more elegantly
    • /f/{fileId} still redirects to the default view
    • /apps/files/{view}/{fileid}
  • Breadcrumbs
    • Split current path
    • Each folder is clickable and load the files
    • Last folder can have a button that trigger a js action (e.g sharing icon)
      Requires OCA.Files.List.Breadcrumbs (pick better name if you want)
  • Columns (first 3 are hardcoded)
    • Checkbox
    • Name
    • Actions provided by the OCA.Files.Actions
    • Provided by OCA.Files.Views
  • Listing
    • Retrieve full list of files: virtual scrolling ⚠️
    • ScrollTo if path is a direct file
    • Cache FileInfos by fileId
    • When browsing away and back, all the files should be displayed directly and a loading indicator stating the list is being refreshed. Indicator should be a the bottom of the list. If most of the refreshes are fast enough (to be tested), ignore the indicator and just refresh silently in the back.
    • Clicking the main name triggers the default action if defined, the download action if none defined
    • Sort folders before files in ALL sorting modes. Not only name sorting.
  • Multiselect
    • When a multiselect starts, store the list of selected FileInfo
    • Reset when changing folder/view
    • Show list of available options filling as much with as possible. The rest of the actions are put into a dropdown
  • Right click on an item open the menu at the location of the cursor
    • Deprecate files_rightclick
    • Make the right-click enabled by default but togglable in the files settings (per user)
  • Error handling
    • Try to redirect to first parent if direct link to file doesn't exists
    • Redirect to root if both file nor direct parent exists

Bonus for later

  • Design this in an API-kind of way so later we can also just call the list with the default view (e.g. a filepicker) (and without the actions ❓)
  • Can decide which column to show/hide per view Design team said no

Listing API and discussion

Currently I actually don't know if there is any need to let other scripts/apps interact with the content.
Any idea/comments?

Activity

  1. added
    0. Needs triagePending check for reproducibility or if it fits our roadmap
    1. to developAccepted and waiting to be taken care of
    and removed
    0. Needs triagePending check for reproducibility or if it fits our roadmap
    on Dec 7, 2021
  2. added this to the Nextcloud 24 milestone on Dec 7, 2021
  3. icewind1991 commented on Dec 16, 2021

    @icewind1991
    Member

    /apps/files/{view}/{fileid}

    Using only the fileid in the url wont work, as multiple paths can point to the same fileid (trough sharing mostly), this can lead to cases where a user is browsing /somefolder/foo, reload and have the path change to /someotherfolder/foo. It will still show the same folder contents, but the path shown in the breadcrumb will be different.

  4. added and removed
    1. to developAccepted and waiting to be taken care of
    on Feb 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions