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

More powerful table / spreadsheet feature #638

Open
30 of 37 tasks
Tracked by #622
joepio opened this issue Mar 4, 2021 · 0 comments
Open
30 of 37 tasks
Tracked by #622

More powerful table / spreadsheet feature #638

joepio opened this issue Mar 4, 2021 · 0 comments
Assignees

Comments

@joepio
Copy link
Member

joepio commented Mar 4, 2021

Tables are the ultimate poweruser tool. They show a lot of information, and are great for editing and organizing stuff. There's a reason why tools like excel, notion and airtable are so popular.

Considerations

  • Peformance. The current approach does not scale well to large tables. It creates dom nodes for every single cell. This could be fixed by using react-virtualized or using some other fancy lazy rendering library
  • Selecting / copy / paste. Being able to select a bunch of fields, rows or columns, copy the data, and paste it somewhere else. Ideally also make sure it pastes from / into other spreadsheet apps.
  • Adjusting the class. Or modelling from the collection view. This fits really well into how most people use excel / sheets / airtable.
  • Keyboard support. Navigation with arrow keys, get into edit mode with enter, esc to exit, etc.

Inspiration and options

User stories

  • Airtable reddit 1, 2

ToDo / deliverables

  • New table view
    • Virtualized & paginated
    • Resizable (state should probably be stored server-side, is possible)
    • Sort (using Collections)
    • Filter (using Collections)
    • (optional) multiple views possible? Save view server-side
    • Refactor existing tables, try making them re-use the same things (= get rid of existing collection view and folder list view, probably)
    • Manual re-order (probably store a float datatype property on every resource)
    • Context menu per row (open in normal view, history, edit, etc.), could be in dialog
  • Keyboard support
    • Move up / down / left / right
    • Use enter to go into edit mode, escape to exit
    • (optional) Search inside table using /
  • Improved data model editing
  • Copy/paste support
    • From HTML (e.g. excel)
    • To HTML (tab + newline delineated, escape markdown / strings)
  • Atomic-Server changes Table feature #538
    • Table Model
    • Hierarchical type constraints ?
    • URL constraints ?
  • Atomic-Data-Docs changes
    • Update docs, add and describe tables model
  • Create reddit post

Current bugs

  • Needs refresh after property edit
  • No keyboard-only adding of 'select' instances, needs mouse
  • Multi select keyboard behavior weird: shift+arrow expands selection, but after going back to regular arrow keys the initial focus is used instead of the expanded focus.
  • Drag mouse support for selection (if not too hard)
  • Pressing enter in the dialog fields does not submit the form (e.g. when creating new property) #816
  • Name field should probably always be enabled in new tables. Description maybe too.
  • Can't click on 'select' items (only keyboard). Make sure this is tested.
  • Selecting second item with keyboard not working
  • Tab navigation with keyboard wrong when hovering over select field, should skip on one tab, currently always enters 'edit' mode
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Nov 4, 2022
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Nov 15, 2022
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Dec 21, 2022
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Dec 23, 2022
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Jan 27, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Jan 27, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Jan 27, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Feb 16, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Feb 16, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Feb 21, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Feb 24, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Mar 9, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Mar 9, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Mar 9, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Mar 9, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Mar 9, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Mar 9, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Mar 9, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Mar 9, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Mar 9, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Mar 13, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Mar 13, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Mar 13, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Mar 13, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Mar 13, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Mar 13, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Mar 13, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Mar 13, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Jul 12, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Jul 12, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Jul 12, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Jul 12, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Jul 12, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Jul 12, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Jul 12, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Jul 12, 2023
Polleps referenced this issue in atomicdata-dev/atomic-data-browser Jul 12, 2023
@joepio joepio transferred this issue from atomicdata-dev/atomic-data-browser Jul 26, 2023
joepio added a commit that referenced this issue Jul 26, 2023
@joepio joepio mentioned this issue Jul 26, 2023
4 tasks
joepio added a commit that referenced this issue Jul 26, 2023
joepio added a commit that referenced this issue Jul 31, 2023
#638 update pnpm lock
Polleps pushed a commit that referenced this issue Aug 7, 2023
#638 update pnpm lock
joepio added a commit that referenced this issue Aug 14, 2023
joepio added a commit that referenced this issue Aug 14, 2023
#638 update pnpm lock
joepio added a commit that referenced this issue Aug 14, 2023
Polleps added a commit that referenced this issue Nov 7, 2023
Polleps added a commit that referenced this issue Nov 7, 2023
joepio pushed a commit that referenced this issue Nov 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants