Skip to content

Conversation

@Mrprey
Copy link
Owner

@Mrprey Mrprey commented Mar 25, 2024

No description provided.

bosskmk and others added 30 commits May 25, 2022 21:33
This PR aims to make it possible to save the edited cell when it loses focus, keeping the data typed in the cell.
This PR aims to remove the cell's editing mode when losing focus. Allowing to remove the focus from the cell when clicking outside the grid.
This PR adds the following attributes to the PlutoGrid widget.

- `rowIndicatorCallback`: It makes possible to pass a callback to define a widget over each left frozen row. The widget is constrained inside the grid borders.
- `rowLeftFloatingWidgetCallback`: It makes possible to pass a callback to define a widget over each left frozen row. The widget is added to the app overlay.
This PR aims to allow the `ColumnMenuDelegate`, the delegate that controls the popup when the 3 points are pressed, to receive a custom dialog. Before this PR was only possible to override the default class to pass a list of `PopupMenuEntry`, an abstract class that contains a child widget and a value to be returned, passed to `showMenu` dialog. It wasn't possible to create any other type of dialog.

Now, it's possible to override the method resposible to call the popup, `showColumnMenu`, passing a custom dialog.

Important to add it's necessary to override and in the callback of the action, pass the value on the `Navigator.pop(context, returned_value)`, this value will be received by `onSelected` method.
This PR aims to allow to create an auxiliar widget beside PlutoColumnTitle icon, that can be passed by implementing the PlutoColumnMenuDelegate.

It can be used to add a verification if the column is filter, to remove the filter, etc.

This can be controlled by adding a conditional statement using the PlutoColumn received by the method to show only in the right column. Can controlled some type of state in the onSelected method too.
This PR changes the `titleSpan` property on PlutoColumn to receive a callback that has as argument PlutoColumnContext.

# How to use the modification

If `titleSpan` callback is defined, the column title is **replaced** by the InlineSpan widget returned from the callback.

```dart
PlutoColumn(
...
  titleSpan: (columnContext) => TextSpan(text: 'text'),
...
);
```
This PR aims to reduce the spacing between the dividing line between grid columns and change the width of the title
This PR aims to apply fix on show icons of column title, and show basic mouseCursor if mouse is over the icon.
bosskmk and others added 20 commits March 1, 2024 17:04
This PR aims to apply flag in configuration.style to show column icon when user hovered column title show icons of column
Problem: When filtering was applied, the icons were not visible to indicate that it was filtered.

Solution: is to check if the filtering icon exists, the main solution icon and the icon button only appear for sorting.
### About:

This PR aims to create a customized method for using shortcut keys on
the grid.

Unfortunately, with the flutter update, the native way it behaved ended
up not working correctly when the application was run on Linux and with
the NumLock key pressed.

To solve the problem, it was necessary to create a method capable of
evaluating the pressed keys and looking for what to do with each one in
the actions.
This PR aims to update the comparison of the type of key pressed. When
generating a snap, the comparison using the key name ended up failing.
Therefore, it was necessary to change to use the `keyId` of the keys for
comparison.
## Description

This PR mergers the pluto_grid original repository main branch into the
forked repository.

What was done:
1. Merged the pluto_grid original repo main branch into a local main
branch;
2. Resolved conflicts;
3. Pushed into this PR.
…24)

Reverts #23 to use merge strategy instead squash!

---------

Co-authored-by: Victor Pinheiro <vpinheiro.aguiar@gmail.com>
DIGIT-1021 Merge pluto_grid main branch into Oxeanbits fork
This Pull Request improves the UX of `PlutoGrid` by ensuring that when a user taps a cell, the grid **automatically scrolls** to bring the selected cell into view — both vertically and horizontally. This eliminates the need for manual scrolling when interacting with off-screen cells.

### Key Changes:
- Introduced `_ensureCellVisibility()` method in `PlutoGridCellGestureEvent` to centralize scroll logic.
- Ensures both row and column visibility using precise offset calculations based on viewport size and scroll extents.
- Updates gesture handlers (`onTapUp`, `onLongPressStart`) to trigger visibility adjustments when a cell is selected or edited.
- Added comprehensive unit tests to verify behavior under various scroll conditions.
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 this pull request may close these issues.

10 participants