From 2b0d6c4f8857ac51d70e2279a9de819148e9f4d7 Mon Sep 17 00:00:00 2001 From: kmk Date: Fri, 1 Mar 2024 17:31:28 +0900 Subject: [PATCH] update 3.19 --- CHANGELOG.md | 140 ++++++++++++++++++++++++++++++++------------------- README.md | 26 +++++++++- pubspec.yaml | 4 +- 3 files changed, 114 insertions(+), 56 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a7fafa2ae..59000211d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [8.0.0] - 2024. 3. 1 + +* Updated for flutter 3.19 version. + ## [7.0.2] - 2023. 5. 13 * Add Japanese, Turkish languages. @@ -75,11 +79,11 @@ ## [5.4.2] - 2022. 11. 15 * Add properties of PlutoGridScrollbarConfig. - - onlyDraggingThumb - - mainAxisMargin - - crossAxisMargin - - scrollBarColor - - scrollBarTrackColor + - onlyDraggingThumb + - mainAxisMargin + - crossAxisMargin + - scrollBarColor + - scrollBarTrackColor ## [5.4.1] - 2022. 11. 12 @@ -90,7 +94,8 @@ * Add shortcut to PlutoGridConfiguration. https://pluto.weblaze.dev/shortcuts * Add popupIcon for popup type column. - You can change the icon that appears on the right of the date, time, or selection type column cell or set it to null to remove it. + You can change the icon that appears on the right of the date, time, or selection type column cell + or set it to null to remove it. ## [5.3.2] - 2022. 11. 2 @@ -138,7 +143,8 @@ * Add support for countries that use comma as Decimal separator. * Breaking change - Only available for flutter 3.3, - otherwise it'll show this error on console: "Error: No named parameter with the name 'disabledForegroundColor'" + otherwise it'll show this error on console: "Error: No named parameter with the name ' + disabledForegroundColor'" ## [5.0.5] - 2022. 8. 30 @@ -169,21 +175,24 @@ ## [5.0.0] - 2022. 7. 11 * Added middle divider for `PlutoDualGrid`, `PlutoDualPopup` widget. - By adding a divider in the center of the two grids, the position can be changed by dragging and dropping. + By adding a divider in the center of the two grids, the position can be changed by dragging and + dropping. https://weblaze.dev/pluto_grid/build/web/#feature/dual-mode * Add to `PlutoGridEventManager` stream to receive column sort changes. Add `PlutoGrid.onSorted` callback. * Added an option to disable column width adjustment while displaying the column right menu. - - Activate both `PlutoColumn.enableContextMenu` and `PlutoColumn.enableDropToResize` - Tap the column menu to display the context menu. Drag left or right to adjust the column width. - - Activate only `PlutoColumn.enableContextMenu` - You cannot adjust the column width by dragging the column menu. - - Only enable `PlutoColumn.enableDropToResize` - You cannot call the context menu by tapping the column menu. + - Activate both `PlutoColumn.enableContextMenu` and `PlutoColumn.enableDropToResize` + Tap the column menu to display the context menu. Drag left or right to adjust the column + width. + - Activate only `PlutoColumn.enableContextMenu` + You cannot adjust the column width by dragging the column menu. + - Only enable `PlutoColumn.enableDropToResize` + You cannot call the context menu by tapping the column menu. * Hide all column headings. `PlutoGridStateManager.setShowColumnTitle` https://weblaze.dev/pluto_grid/build/web/#development - In the link above, you can hide or show the entire column area by clicking the toggle column title button in the top show menu. + In the link above, you can hide or show the entire column area by clicking the toggle column title + button in the top show menu. * When the parent widget of `PlutoGrid` is scrolled, in the previous 4.0.0 logic, the error that the row area disappears when the column is out of the screen area has been fixed. * Improve text selection when edit TextCell by @DmitrySboychakov @@ -191,23 +200,32 @@ * Display a scroll bar when moving the horizontal axis with the keyboard. * Changing the way columns are moved by dragging them. Previously, it was changed immediately in the onDragUpdate state. - Changed in onDragEnd state in the changed version. Change the background color of the column to be moved instead. + Changed in onDragEnd state in the changed version. Change the background color of the column to be + moved instead. (`PlutoGridStateManager.dragTargetColumnColor`) * Modified to pass `PlutoColumn` instead of passing `PlutoColumn.key` when calling `hideColumn`. * Add `PlutoGridStateManager.hideColumns(List columns, bool hide)` * Changes due to the constraint of a frozen column. - - The width of the frozen column cannot be expanded beyond the limit width. - - When changing a non-frozen column to a frozen column, it cannot be changed if the constraint width is insufficient. - - If a column with a hidden frozen column state is unhidden in a narrow constraint width, the column frozen state is forcibly changed to `PlutoColumnFrozen.none`. - - If the entire grid width is narrowed to less than the constraint width while - there is a frozen column, the frozen column is permanently changed to `PlutoColumnFrozen.none`, and it does not return to the frozen column again even if the grid width is increased. + - The width of the frozen column cannot be expanded beyond the limit width. + - When changing a non-frozen column to a frozen column, it cannot be changed if the constraint + width is insufficient. + - If a column with a hidden frozen column state is unhidden in a narrow constraint width, the + column frozen state is forcibly changed to `PlutoColumnFrozen.none`. + - If the entire grid width is narrowed to less than the constraint width while + there is a frozen column, the frozen column is permanently changed + to `PlutoColumnFrozen.none`, and it does not return to the frozen column again even if the + grid width is increased. * Change the logic to move by dragging rows. Previous behavior: rows are moved while dragging. Changed behavior: It does not move while dragging, but moves only when you mouse-up or tap-up. * Changed logic for scrolling when dragging rows, column or selecting rows or cells. - `Previous version`: Scrolling continues only when the pointer is moved continuously so that the move event of the mouse (tab) continues to occur - `Changed version`: If the move event of the mouse (tab) occurs only once, the scroll event continues in the scroll direction. The scroll animation continues to the end of the scroll direction even if the move event is not triggered by continuously moving the pointer. - The scroll animation stops when the pointer enters a grid that does not require scrolling or when a MouseUp(PointerUp) event is fired. + `Previous version`: Scrolling continues only when the pointer is moved continuously so that the + move event of the mouse (tab) continues to occur + `Changed version`: If the move event of the mouse (tab) occurs only once, the scroll event + continues in the scroll direction. The scroll animation continues to the end of the scroll + direction even if the move event is not triggered by continuously moving the pointer. + The scroll animation stops when the pointer enters a grid that does not require scrolling or when + a MouseUp(PointerUp) event is fired. * Expand Columns to cover the parent Container Width. * Support RTL. Changed left and right of `PlutoColumn.frozen` to start and end. @@ -215,7 +233,8 @@ `PlutoColumn.titleTextAlign` default value changed from left to start. https://weblaze.dev/pluto_grid/build/web/#feature/rtl * Change `PlutoGridConfiguration`. - Settings such as color, size, icon, border, and text style have been moved to `PlutoGridConfiguration.style`. + Settings such as color, size, icon, border, and text style have been moved + to `PlutoGridConfiguration.style`. * Even/Odd Color. Add `PlutoGridConfiguration.style.oddRowColor`, `PlutoGridConfiguration.style.evenRowColor`. * Set default row color. @@ -318,13 +337,15 @@ ## [2.7.1] - 2021. 12. 8 -* Fixed an error where the row height of the popup did not change when the rowHeight value was changed. +* Fixed an error where the row height of the popup did not change when the rowHeight value was + changed. ## [2.7.0] - 2021. 12. 7 * Added to be able to set the left and right padding of the cell. * Added option to automatically enter edit state when selecting a cell. -* Added keyboard move option with left and right arrow keys when reaching the left and right ends of text in edit state. +* Added keyboard move option with left and right arrow keys when reaching the left and right ends of + text in edit state. * Added titleSpan property to custom text or icon in column title. * Removed readOnly property of PlutoColumnType and added to PlutoColumn. * Added checkReadOnly callback to dynamically manipulate readOnly property. @@ -332,7 +353,8 @@ ## [2.6.1] - 2021. 11. 22 -* Fixed so that the onChanged callback is not called when text is entered while the cell is not in the edit state. +* Fixed so that the onChanged callback is not called when text is entered while the cell is not in + the edit state. ## [2.6.0] - 2021. 11. 19 @@ -358,7 +380,7 @@ ## [2.4.0] - 2021. 7. 31 -* Added pagination. +* Added pagination. * Added debounce on keyboard input in filter. ## [2.3.0] - 2021. 7. 7 @@ -368,7 +390,8 @@ ## [2.2.1] - 2021. 6. 26 -* Added enableDropToResize option when creating a column. (enables an icon for adjusting the width of a column when there is no context menu) +* Added enableDropToResize option when creating a column. (enables an icon for adjusting the width + of a column when there is no context menu) * Fix scroll bar drag behavior ## [2.2.0] - 2021. 5. 29 @@ -382,7 +405,7 @@ ## [2.0.0] - 2021. 5. 14 * Change scroll physics. -* Fix a bug when dragging rows. +* Fix a bug when dragging rows. * Stable release. ## [2.0.0-nullsafety.2] - 2021. 5. 1 @@ -421,10 +444,11 @@ ## [1.0.0] - 2020. 12. 30 -* Class name change. Just like changing PlutoConfiguration to PlutoGridConfiguration, the word Grid was added in the middle. - - PlutoStateManager > PlutoGridStateManager - - PlutoOnLoadedEvent > PlutoGridOnLoadedEvent - - Many other classes... +* Class name change. Just like changing PlutoConfiguration to PlutoGridConfiguration, the word Grid + was added in the middle. + - PlutoStateManager > PlutoGridStateManager + - PlutoOnLoadedEvent > PlutoGridOnLoadedEvent + - Many other classes... ## [1.0.0-pre.10] - 2020. 12. 21 @@ -432,9 +456,11 @@ ## [1.0.0-pre.9] - 2020. 12. 20 -* The method of setting the filter has changed. columnFilters in configuration changed to columnFilterConfig. +* The method of setting the filter has changed. columnFilters in configuration changed to + columnFilterConfig. * Different default filters can be set for each column. -* Modified to close the popup if there is no filter to clear when clicking the clear button in the filter popup. +* Modified to close the popup if there is no filter to clear when clicking the clear button in the + filter popup. * Rename DatetimeHelper to DateTimeHelper. ## [1.0.0-pre.8] - 2020. 12. 16 @@ -459,9 +485,9 @@ ## [1.0.0-pre.4] - 2020. 11. 16 * Enable constant_identifier_names. - - ex) `PlutoColumnFixed.Left` > `PlutoColumnFixed.left` - - ex) `PlutoSelectingMode.Row` > `PlutoSelectingMode.row` - - All existing constants such as enum are changed. + - ex) `PlutoColumnFixed.Left` > `PlutoColumnFixed.left` + - ex) `PlutoSelectingMode.Row` > `PlutoSelectingMode.row` + - All existing constants such as enum are changed. * Add a loading indicator. ## [1.0.0-pre.3] - 2020. 11. 13 @@ -490,13 +516,16 @@ Just clear the popup and create it with PlutoGrid(). * The column property enableDraggable has been changed to enableColumnDrag. -##### Improvements: +##### Improvements: * Column properties have been added. - - enableRowDrag : If set to true, an icon is create in the cell of the column, and the row can be moved by dragging it. - - enableRowChecked : If set to true, a check box is create in the cell of the column. - - renderer : You can change the displayed cell. - - applyFormatterInEditing : If this is set to true, the value changed by a formatter is a reflected in the editing state. However, it is only in the readonly state, or the state in which the cell value cannot be directly modified in the form of popup. + - enableRowDrag : If set to true, an icon is create in the cell of the column, and the row can + be moved by dragging it. + - enableRowChecked : If set to true, a check box is create in the cell of the column. + - renderer : You can change the displayed cell. + - applyFormatterInEditing : If this is set to true, the value changed by a formatter is a + reflected in the editing state. However, it is only in the readonly state, or the state in + which the cell value cannot be directly modified in the form of popup. ## [0.1.21] - 2020. 11. 01 @@ -505,7 +534,8 @@ ## [0.1.20] - 2020. 10. 28 -* Add textAlign to column property.(PlutoColumnTextAlign.Left, or Right) [#49](https://github.com/bosskmk/pluto_grid/issues/49) +* Add textAlign to column property.(PlutoColumnTextAlign.Left, or + Right) [#49](https://github.com/bosskmk/pluto_grid/issues/49) ## [0.1.19] - 2020. 10. 23 @@ -525,13 +555,15 @@ * Fixed column problem when adjusting column width. * When the date is MM/dd/yyyy, the initial value of the pop-up is incorrect. -* When startDate, endDate are present, the initial value of the popup is not filled or scrolling fails. +* When startDate, endDate are present, the initial value of the popup is not filled or scrolling + fails. * When the date is MM/dd/yyyy, misalignment error. * Modify to operate the sorting criteria in the order of items in the Select Type Column. ## [0.1.15] - 2020. 09. 28 -* Modified so that the Grid does not force focus and works properly according to the situation in which focus get received or taken away. +* Modified so that the Grid does not force focus and works properly according to the situation in + which focus get received or taken away. ## [0.1.14] - 2020. 09. 27 @@ -564,7 +596,8 @@ * Add None Selecting mode for states that do not require multi-selection. * Add selecting-mode for selecting date range. -* Difference in Enter key in TextField when using RawKeyboardListener overlapping. [https://github.com/flutter/flutter/issues/65170](https://github.com/flutter/flutter/issues/65170) +* Difference in Enter key in TextField when using RawKeyboardListener + overlapping. [https://github.com/flutter/flutter/issues/65170](https://github.com/flutter/flutter/issues/65170) ## [0.1.8] - 2020. 9. 3 @@ -572,7 +605,8 @@ ## [0.1.7] - 2020. 9. 3 -* Change the way to move between grids in dual grid mode. When moving the arrow keys, the focus moves when reaching the left and right ends. +* Change the way to move between grids in dual grid mode. When moving the arrow keys, the focus + moves when reaching the left and right ends. * Update Demo. ## [0.1.6] - 2020. 9. 2 @@ -612,8 +646,10 @@ * Column shift : Change the order of the columns by dragging the column title. * Column sort : Sort the list by clicking on the column heading. * Column width : Change the column width by dragging the icon to the right of the column title. -* Column action : Click the icon to the right of the column title, you can control the column with the column action menu. +* Column action : Click the icon to the right of the column title, you can control the column with + the column action menu. * Multi selection : By long tapping or clicking and moving. * Copy & paste : Ctrl(macos : Meta) + C or V. -* Select Row Popup : Same as the grid, a selection popup that can be used when selecting an item from a list. +* Select Row Popup : Same as the grid, a selection popup that can be used when selecting an item + from a list. * Keyboard support : Arrow keys, Enter(Shift + Enter), Tab(Shift +Tab), Esc... diff --git a/README.md b/README.md index 3def278a3..25d262df5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## PlutoGrid for flutter - v7.0.2 +## PlutoGrid for flutter - v8.0.0 [![Awesome Flutter](https://img.shields.io/badge/Awesome-Flutter-blue.svg)](https://github.com/Solido/awesome-flutter) [![codecov](https://codecov.io/gh/bosskmk/pluto_grid/branch/master/graph/badge.svg)](https://codecov.io/gh/bosskmk/pluto_grid) @@ -6,7 +6,8 @@
-`PlutoGrid` is a `DataGrid` that can be operated with the keyboard in various situations such as moving cells. +`PlutoGrid` is a `DataGrid` that can be operated with the keyboard in various situations such as +moving cells. It is developed with priority on the web and desktop. Improvements such as UI on mobile are being considered. If you comment on an issue, mobile improvements can be made quickly. @@ -14,27 +15,32 @@ If you comment on an issue, mobile improvements can be made quickly.
### [Demo Web](https://bosskmk.github.io/pluto_grid/build/web/index.html) + > You can try out various functions and usage methods right away. > All features provide example code.
### [Pub.Dev](https://pub.dev/packages/pluto_grid) + > Check out how to install from the official distribution site.
### [Documentation](https://pluto.weblaze.dev/series/pluto-grid) + > The documentation has more details.
### [ChangeLog](https://github.com/bosskmk/pluto_grid/blob/master/CHANGELOG.md) + > Please note the changes when changing the version of PlutoGrid you are using.
### [Issue](https://github.com/bosskmk/pluto_grid/issues) + > Report any questions or errors.
@@ -50,59 +56,71 @@ If you comment on an issue, mobile improvements can be made quickly. ### Screenshots #### Change the color of the rows or make the cells look the way you want them. + ![PlutoGrid Normal](https://bosskmk.github.io/images/pluto_grid/2.8.0/pluto_grid_2.8.0_01.png)
#### Date type input can be easily selected by pop-up and keyboard. + ![PlutoGrid Select Popup](https://bosskmk.github.io/images/pluto_grid/3.1.0/pluto_grid_3.1.0_01.png)
#### The selection type column can be easily selected using a pop-up and keyboard. + ![PlutoGrid Select Date](https://bosskmk.github.io/images/pluto_grid/2.8.0/pluto_grid_2.8.0_03.png)
#### Group columns by desired depth. + ![PlutoGrid Cell renderer](https://bosskmk.github.io/images/pluto_grid/2.8.0/pluto_grid_2.8.0_04.png)
#### Grid can be expressed in dark mode or a combination of desired colors. Also, freeze the column, move it by dragging, or adjust the size. + ![PlutoGrid Multi select](https://bosskmk.github.io/images/pluto_grid/2.8.0/pluto_grid_2.8.0_05.png)
### Example + Generate the data to be used in the grid. + ```dart List columns = [ + /// Text Column definition PlutoColumn( title: 'text column', field: 'text_field', type: PlutoColumnType.text(), ), + /// Number Column definition PlutoColumn( title: 'number column', field: 'number_field', type: PlutoColumnType.number(), ), + /// Select Column definition PlutoColumn( title: 'select column', field: 'select_field', type: PlutoColumnType.select(['item1', 'item2', 'item3']), ), + /// Datetime Column definition PlutoColumn( title: 'date column', field: 'date_field', type: PlutoColumnType.date(), ), + /// Time Column definition PlutoColumn( title: 'time column', @@ -143,6 +161,7 @@ List rows = [ ``` Create a grid with the data created above. + ```dart @override Widget build(BuildContext context) { @@ -173,6 +192,7 @@ Widget build(BuildContext context) { | Flutter | PlutoGrid | |------------------|-----------------------| +| 3.19.0 or higher | 8.0.0 or higher | | 3.10.0 or higher | 7.0.0 or higher | | 3.7.0 or higher | 6.0.0 or higher | | 3.3.0 or higher | 5.0.6 or higher | @@ -184,7 +204,9 @@ For other versions, contact the issue
### Related packages + > develop packages that make it easy to develop admin pages or CMS with Flutter. + * [PlutoGrid](https://github.com/bosskmk/pluto_grid) * [PlutoMenuBar](https://github.com/bosskmk/pluto_menu_bar) * [PlutoLayout](https://github.com/bosskmk/pluto_layout) diff --git a/pubspec.yaml b/pubspec.yaml index d4db3ea19..942a9fc0e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,11 +1,11 @@ name: pluto_grid description: PlutoGrid is a dataGrid that can be controlled by the keyboard on desktop and web. Of course, it works well on Android and IOS. (DataGrid, DataTable, Data Grid, Data Table, Sticky) -version: 7.0.2 +version: 8.0.0 homepage: https://pluto.weblaze.dev repository: https://github.com/bosskmk/pluto_grid environment: - sdk: ">=2.17.0 <3.0.0" + sdk: '>=2.17.0 <4.0.0' flutter: ">=2.5.0" dependencies: