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

Version 4 #119

Merged
merged 114 commits into from
Jan 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
13b55f1
Changed the internal layout to grid format. Numerous performance
caduandrade Nov 18, 2024
55408e5
Removing the columnInResizing attribute from model and fixing the hover
caduandrade Nov 18, 2024
81b8999
Trailing widget. #96
caduandrade Nov 19, 2024
4b6afef
Fixing trailing paint position. Painting foreground and background
caduandrade Nov 19, 2024
3b0ed34
Removing old code. #96
caduandrade Nov 19, 2024
01d9ec3
Using row divider color and thickness. #96
caduandrade Nov 19, 2024
c159660
Removing DaviRow class. #96
caduandrade Nov 20, 2024
58d5239
Painting column dividers. #96
caduandrade Nov 21, 2024
f289052
Fixing listenable. #96
caduandrade Nov 21, 2024
1080913
Formatting. #96
caduandrade Nov 21, 2024
2e281fc
Fixing the dividers paint. #96
caduandrade Nov 22, 2024
5130a3e
Fixing miss listenable after model update. #96
caduandrade Nov 22, 2024
7f8db3e
Removing a layer in the cell widget tree. #96
caduandrade Nov 23, 2024
41df7e3
Optimizing cell background color painting. #96
caduandrade Nov 23, 2024
def4083
Allow semantics off. #96
caduandrade Nov 24, 2024
cc11f67
Removing unnecessary hover listener. #96
caduandrade Nov 24, 2024
57b5e40
Simplifying code. #96
caduandrade Nov 24, 2024
221f770
Fixing rowColor paint. #96
caduandrade Nov 24, 2024
fa4dd2a
Cell repaint cache. #96
caduandrade Nov 25, 2024
2572705
Setting painter cache size. #96
caduandrade Nov 25, 2024
47b1aed
Removing unnecessary class. #96
caduandrade Nov 25, 2024
acbb82b
Removing unnecessary class. #96
caduandrade Nov 25, 2024
137759f
Disable sorting and resizing of columns while scrolling. #96
caduandrade Nov 25, 2024
9470fd0
Using DaviContext to propagate objects. #96
caduandrade Nov 25, 2024
5c75a1b
Merge pull request #99 from caduandrade/96-performance-improvement
caduandrade Nov 25, 2024
830a1bf
Reserving area for the summary. #83
caduandrade Nov 26, 2024
d27e681
Summary theme. #83
caduandrade Nov 26, 2024
ea788b1
Adding summary edge. #83
caduandrade Nov 26, 2024
4f67f9d
Painting summary column dividers. #83
caduandrade Nov 27, 2024
a8c5a42
Summary cell builder. #83
caduandrade Nov 28, 2024
768f92c
Merge pull request #100 from caduandrade/83-column-summary-footer
caduandrade Nov 28, 2024
eeed4c9
Updating examples
caduandrade Nov 28, 2024
560e6b8
DaviColumn.grow attribute is now applied only during the initial layout
caduandrade Nov 29, 2024
fb18ad0
Updating android example
caduandrade Nov 30, 2024
d0cda89
Merge pull request #103 from caduandrade/102-new-davicolumngrow-behavior
caduandrade Nov 30, 2024
a6c2463
Consuming keyboard events and correctly managing the focus traversal
caduandrade Nov 30, 2024
cffbff8
Merge pull request #104 from caduandrade/95-focus-problems-with-two-d…
caduandrade Nov 30, 2024
61943da
Setting the scrollbar as interactive. #76
caduandrade Nov 30, 2024
173ff4e
Merge pull request #105 from caduandrade/76-scroll-is-moving-in-oppos…
caduandrade Nov 30, 2024
23e0eca
Replacing value mapping with cell value builders. #40
caduandrade Nov 30, 2024
bef7803
Mapping data values to each cell. Creating functions to define span v…
caduandrade Dec 1, 2024
e761862
Using row and column span in layout. #40
caduandrade Dec 1, 2024
501a82c
Painting the row dividers according to the span. #40
caduandrade Dec 1, 2024
dff2cc4
Optimizing the painting of dividers. #40
caduandrade Dec 3, 2024
989dbaa
Fixing row divider indices. #40
caduandrade Dec 3, 2024
da4ecfd
Painting the column dividers according to the span. #40
caduandrade Dec 4, 2024
dcd0da7
Considering the trailing widget and the fillHeight parameter in the
caduandrade Dec 4, 2024
40a6b17
Defining behaviors for cell collision to allow the collided cell to be
caduandrade Dec 4, 2024
933edf0
Fixing merged cell layout. #40
caduandrade Dec 4, 2024
c966a6c
Optimizing cell span cache. #40
caduandrade Dec 4, 2024
58b732a
Adding maxRowSpan and maxColumnSpan to set span limits. #40
caduandrade Dec 4, 2024
f15fd1c
Handle cells with rowSpan extending into the visible area from
caduandrade Dec 4, 2024
6edaa8d
Handle cells with rowSpan extending away from the visible area from
caduandrade Dec 5, 2024
a14bccc
Add exception handling for cases where column or row span exceeds table
caduandrade Dec 6, 2024
50348c8
Changing cellValue to return the cell value as dynamic. Creating Cell…
caduandrade Dec 6, 2024
eadcde5
Fixing sorting to use dynamic cell values. #40
caduandrade Dec 6, 2024
3b2797f
Reusing divisor intersection calculations during painting. #40
caduandrade Dec 6, 2024
cb47c11
Fixing trailing hit test. #40
caduandrade Dec 6, 2024
b78b52f
Added validation to ensure columSpan does not span across pinned and …
caduandrade Dec 6, 2024
82647d8
Merge pull request #106 from caduandrade/40-cell-merging
caduandrade Dec 6, 2024
629a38d
Add support for custom cell rendering using Canvas #108
caduandrade Dec 6, 2024
d74cd35
Merge pull request #110 from caduandrade/108-add-support-for-custom-c…
caduandrade Dec 6, 2024
d985b3c
Removing DaviColumn.fractionDigits attribute. #97
caduandrade Dec 6, 2024
ba0028e
Cell bar painting. #109
caduandrade Dec 6, 2024
dc76647
Fixing bar and icon columns sort. #109
caduandrade Dec 6, 2024
46cf53b
Cell bar theme. #109
caduandrade Dec 6, 2024
4c1b05a
Merge pull request #112 from caduandrade/109-add-support-for-renderin…
caduandrade Dec 6, 2024
a65032d
Fixing rowTap: callback was only working if hover color was set. #97
caduandrade Dec 17, 2024
84288e2
Updating header cell content height. #97
caduandrade Dec 19, 2024
7a23849
Fixing cursor customization. #97
caduandrade Dec 19, 2024
825f04a
Fixing hover listener. #97
caduandrade Dec 19, 2024
6dfea6b
Fixing Column.cellBackground to support hovered. #97
caduandrade Dec 21, 2024
f307f3d
TextStyleBuilder on column. #97
caduandrade Dec 21, 2024
8d91ccf
Setting the default value of cellClip to TRUE. #97
caduandrade Dec 22, 2024
3fd0c82
Reusing built cells (#115)
caduandrade Dec 30, 2024
0371d34
Updating CHANGELOG.md. #97
caduandrade Dec 30, 2024
02be4f7
Updating CHANGELOG.md. #97
caduandrade Dec 31, 2024
d8800b5
Updating CHANGELOG.md. #97
caduandrade Dec 31, 2024
ac9c50e
Allow CellBarStyle attributes to be null. #97
caduandrade Dec 31, 2024
802cf80
Expose the unmodifiable list of model rows. #97
caduandrade Dec 31, 2024
66b0b9b
Formatting and adding row data in comparator typedef. #97
caduandrade Jan 8, 2025
3de3532
Adding RowSpanOverflowBehavior. #97 #40
caduandrade Jan 8, 2025
73c4ca2
Hiding internal methods. #97
caduandrade Jan 8, 2025
94b0825
Changing the sortPriority to be non-null. #97
caduandrade Jan 8, 2025
a915382
Allow default sort. #97
caduandrade Jan 8, 2025
611d9f4
Moving collisionBehavior from Davi to DaviModel. #97
caduandrade Jan 8, 2025
efa35e8
Model setters for collisionBehavior and rowSpanOverflowBehavior. #97
caduandrade Jan 8, 2025
a57e77e
Adding SortingMode and placeholderWidget attribute. #97
caduandrade Jan 9, 2025
e04f168
Handling different data types in the default comparator. #97
caduandrade Jan 9, 2025
26c7d04
Detecting if multiple value mappings are being used. #97
caduandrade Jan 9, 2025
3514ca8
Fixing cell collision detector. #97
caduandrade Jan 9, 2025
586bdaa
Cleaning up the main example. #97
caduandrade Jan 10, 2025
0b1da86
Adding the cellListenable. #117 (#118)
caduandrade Jan 10, 2025
77a2859
Callback to rebuild the cell and simplify the parameters. #97
caduandrade Jan 11, 2025
52de8d5
LocalKey for cell widget. #97
caduandrade Jan 11, 2025
9aef3bb
Fixing focus traversal. #97
caduandrade Jan 11, 2025
525acf9
Renaming cell collision behavior. #97
caduandrade Jan 11, 2025
8d3cada
Version 4.0.0
caduandrade Jan 12, 2025
05c7f75
Directory refactoring. #97
caduandrade Jan 12, 2025
c0eeb57
Version 4.0.0
caduandrade Jan 12, 2025
3c4dc87
Update README.md
caduandrade Jan 12, 2025
1c38747
Adding screenshot
caduandrade Jan 12, 2025
e581659
Fixing analyze issues.
caduandrade Jan 12, 2025
6217cc0
Updating
caduandrade Jan 12, 2025
00d2d27
Updating
caduandrade Jan 12, 2025
e478632
Updating
caduandrade Jan 12, 2025
a8819c5
Updating
caduandrade Jan 12, 2025
22d4254
Updating
caduandrade Jan 12, 2025
4e3d9c2
Updating
caduandrade Jan 12, 2025
0db8d36
Updating
caduandrade Jan 12, 2025
1c6106d
Version 4.0.0-rc.1
caduandrade Jan 12, 2025
ec58fff
Updating screenshot description
caduandrade Jan 12, 2025
70036c8
RC 4.0.0-rc.2
caduandrade Jan 12, 2025
32248f5
Version 4.0.0
caduandrade Jan 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .pubignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
docs/
lib/src/experimental/

# Miscellaneous
*.class
*.log
Expand Down
80 changes: 78 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,79 @@
## 4.0.0

* Significant performance improvements
* Internal tests show Flutter frame rates during scrolling increasing from 5 FPS to over 30 FPS
* Cell merging
* Column summary (Footer)
* New cell types
* Custom rendering using Canvas
* Percentage bar
* Changes
* `Davi`
* The `lastRowWidget` attribute has been renamed to `trailingWidget`.
* The `onLastRowWidget` attribute has been renamed to `onTrailingWidget`.
* The `pinnedHorizontalScrollController` attribute has been renamed to `leftPinnedHorizontalScrollController`.
* The `model` attribute is now non-nullable.
* The `tapToSortEnabled` attribute has been replaced by `DaviModel.sortingMode`.
* The `placeholderWidget` attribute has been added.
* `DaviModel`
* The `alwaysSorted` attribute has been replaced by `sortingMode`.
* The `onSort` has been changed to be called before sorting.
* `DaviColumn`
* The `stringValue`, `intValue`, `objectValue` and `doubleValue` attributes has been replaced by `cellValue`.
* The `cellBuilder` attribute has been replaced by `cellWidget`.
* The `iconValueMapper` attribute has been replaced by `cellIcon`.
* The `fractionDigits` attribute has been removed.
* The `cellStyleBuilder` attribute has been removed.
* The `cellTextStyle` attribute has been updated from a `TextStyle` type to a builder of type `CellTextStyleBuilder`
* The default `cellClip` value has been changed to `TRUE`.
* The `grow` attribute is now applied only during the initial layout for columns when `ColumnWidthBehavior` is set to `scrollable`.
* The `sort` attribute has been renamed to `sortDirection`.
* The type has been changed from `DaviSort` to `DaviSortDirection`.
* `CellThemeData`
* The `overflow` attribute has been removed.
* `DaviThemeData`
* The `topCornerBorderColor` attribute has been moved to `EdgeThemeData.headerColor`.
* The `topCornerColor` attribute has been changed to `EdgeThemeData` attributes: `headerBottomBorderColor` and `headerLeftBorderColor`.
* The `bottomCornerBorderColor` attribute has been changed to `EdgeThemeData` attribute: `scrollbarLeftBorderColor` and `scrollbarTopBorderColor`.
* The `bottomCornerColor` attribute has been moved to `EdgeThemeData.scrollbarColor`.
* The `copyWith` method has been removed.
* `RowThemeData`
* The `cursor` attribute has been renamed to `callbackCursor`.
* The `cursorOnTapGesturesOnly` attribute has been removed.
* The `copyWith` method has been removed.
* The `lastDividerVisible` attribute has been removed.
* `HeaderThemeData`
* The `bottomBorderHeight` attribute has been renamed to `bottomBorderThickness`.
* The `copyWith` method has been removed.
* `CellThemeData`
* The `copyWith` method has been removed.
* `HeaderCellThemeData`
* The `copyWith` method has been removed.
* Typedefs
* `DaviDataComparator`
* Has been renamed to `DaviComparator`
* Updated the signature to include `rowA` and `rowB` parameters, and removed the `column` parameter
* `DaviRowCursor`
* Has been renamed to `RowCursorBuilder`.
* Its signature has been changed from `DaviRow` to `CursorBuilderParams`
* `OnLastRowWidgetListener` to `TrailingWidgetListener`
* `OnLastVisibleRowListener` to `LastVisibleRowListener`
* `DaviCellSemanticsBuilder`
* Its signature has been changed from `DaviRow` to `SemanticsBuilderParams`
* `CellBackgroundBuilder`
* Its signature has been changed from `DaviRow` to `BackgroundBuilderParams`
* Removed classes and typedefs
* `DaviIntValueMapper`
* `DaviDoubleValueMapper`
* `DaviStringValueMapper`
* `DaviObjectValueMapper`
* `DaviIconValueMapper`
* `CellStyleBuilder`
* `DaviRow`
* BugFixes
* Focus problem between instances (or simply another focus widget)
* Scroll is moving in opposite direction on Android.

## 3.5.0

* `Davi`
Expand Down Expand Up @@ -69,11 +145,11 @@ final bool sortable;
* Refactor
* The `sortable` attribute of the `DaviColumn` can be `TRUE` even without a `sort` function.
* Typedef `DaviColumnSort`
* New parameter: `DaviColumn<DATA> column`
* New attribute: `DaviColumn<DATA> column`

## 3.0.0

* Renaming classes and parameters
* Renaming classes and attributes
* `EasyTable<ROW>` to `Davi<DATA>`
* `EasyTableColumn<ROW>` to `DaviColumn<DATA>`
* `EasyTableTheme` to `DaviTheme`
Expand Down
Loading
Loading