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

[pull] master from olifolkerd:master #67

Open
wants to merge 606 commits into
base: master
Choose a base branch
from
Open

Conversation

pull[bot]
Copy link

@pull pull bot commented Jul 8, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Jul 8, 2022
olifolkerd and others added 29 commits January 21, 2024 16:59
* initial Spreadsheet module

* Avoid clashing SelectRow module, better selection, getSelectedData

* allow multiple range selection, handle multi page, select by column

* use spreadsheet option to enable it

* clipboard module integration

* allow editing by double clicking

* allow custom context menu and refactors

* use rownum, add range to interaction, themes, refactors

* optimize range rendering, ignore invisible columns, fix header context menu

* Respect column editable, row/col range context menu, handle empty table

* respect row and column headers interaction, add some helpers

* refactors

* expose getActiveRange

* refactors, fix virtual dom vertical

* Fix virtual dom horizontal and overlay sizing, optimize row rendering

* cleanups

* simplify css classes, fix unfocusable table

* improve range getters

* fix cell height resize and add rows and columns getters

* fix destroy table

* make header focusable so we can copy after clicking the headers

* debounce range layout

* add keybindings

* remove render-virtual-dom, naming corrections, inline if, etc

- remove mouse up listener after finish dragging
- move table header tabindex initialization
- fix variable definitions in switch case
- fix overflowing key navigations
- fix keyboard navigations

* incorrect navigate jump indexing, use scrollend, cleanups

* fix autoscroll issues

- horizontal navigation does not scroll the tableHolder in some cases
- vertical navigation is super slow when autoscrolls causing bottleneck.
  Using `.scrollTop` directly instead of `.scrollToRow` is much faster.

* refactors

* remove scrollend handler after used

* refactors

using .scrollLeft directly instead of scrollHorizontal for faster
scrolling and simplify stuff

* fix reset selection after changing page

* prevent navigation when editing, refocus to table after editing, etc.

- navigation keybindings should respect editing mode
- refocus to table after editing the cell, so we can navigate to it
- allow opening context menu via keyboard shortcut

* trap focus contextmenu, navigate menu with arrow keys and enter

we need this so when a menu is opened, we shouldn't be able to navigate
the spreadsheet with the arrow keys.

* fix dangling listener & prevent editing when menu is opened

* fix(navigation): cell navigation improvements

- if the range is at the edge of the table and the user presses
  `spreadsheetJump` key, it should stay there instead of moving to the
  other side of the table.
- pressing `spreadsheetJump` should move to the next non-empty cell,
  just like in google sheet.

* refactor(conditioning): dont use optional chanining

* fix(autoScroll): fix auto scrolling issue

fix cannot autoscroll to elements that are not in the DOM

* spreadsheet keybinding does not respect editor

Pressing enter in an input editor does not close it due to the enter key
is registered in the keybindings module.

* undefined self

* fix disappearing row headers after setting columns

this would add row header each time columns were set

* add left & right getters to range component

* cleanups

* fix virtual dom error when adding row header

* better redraw

* disable headerSort if spreadsheet is enabled

* add options to ResizeColumns and enable multi resize (spreadsheet)

new table options in ResizeColumns:
- resizeColumnsHandles - we can put handles on each cells (including
  headers) or only on the column headers.
- resizeColumnsMode - resize the column in realtime or show a guide
  line when resizing.

alongside, we also allow to resize multiple columns at once in when
using spreadsheet.

* fix resize guide position and style

* fix: bugs when entering editor

- Clicking a cell would immediately open an editor for that cell. This
  happens after resizing the column of the cell.
- Not able to enter the editor for the first time.

* enable sort module
lukecotter and others added 30 commits March 17, 2024 09:48
* perf: avoid clearing column header sort when sorting child rows

This prevents dom being destroyed and created repeatedly,
It is most beneficial withe a deeply nested tree.

* perf: replace concat with push in loop

looping the array and push to the existing array is much faster
than using concat and assign.
I believe this is because concat creates a new array
each time it is called.

* style: fix formatting
* fix movable columns and range selection

* refactor column events naming
Co-authored-by: Oli Folkerd <oliver.folkerd@gmail.com>
- rollup doesn't support node 14 anymore
Co-authored-by: 王琼凯 <wangqiongkai@360container.com>
…4392)

Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 17.3 to 41.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](tj-actions/changed-files@v17.3...v41)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
7 participants