Repository navigation
1.4.0: resizable activities list, compact row actions, progress bar and CI alignment - #34
Merged
Merged
Conversation
Make the activities list usable on tablets (compact actions, minimum width, "more" menu) and add a progress line to the cells, with readable titles and resize edges that follow the cell color. See CHANGELOG 1.4.0 for the details.
Add test/cell_progress_and_edges_test.dart (resize edges on cut sides, progress track and line inset and measured on the whole activity, the "more" menu tooltip assert) and two GanttController tests for removeAllFetchListener and dispose with a mounted Gantt. Show progress and the narrow layout options in the example. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Add `activitiesListHeader` to fill the empty area above the activities list - Add `GanttActivitiesListWidth` to make the activities list column resizable, with the width persisted externally through `width`/`onChanged` - Refetch when resizing changes the visible date range - Bump version to 1.4.0 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Replace flutter-analyze.yaml with ci.yaml: Flutter min/stable matrix, tests with coverage, pana score threshold, concurrency - Add publish.yaml to publish to pub.dev on version tags via OIDC - Add dependabot for GitHub Actions and pub dependencies Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
flutter_lints 6 requires Dart ^3.8.0, so the package could not be resolved on the previously declared minimum. Align the CI matrix. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Ensure `rowsGroupPadding` is applied only between top-level groups (not the first group). - Improves visual consistency in `activities_grid` and `activities_list`.
Merge the 1.4.0 changes of #33 to ship a single release: - Drop `Gantt.activitiesListMinWidth` in favor of `GanttActivitiesListWidth.minWidth`, which also covers the flex-derived initial width; the example uses it instead - Keep `collapseActionsBelowWidth`, now also driven by the resizable column - Combine the theme update and the list width reset in `didUpdateWidget` - Keep the top-level-only `rowsGroupPadding` together with `listIndent` - Reformat the merged sources with the Dart 3.8 formatter - Merge the two 1.4.0 CHANGELOG entries and README property tables Co-authored-by: a-nisi-insideapp <a.nisi@insideapp.it> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Gantt.activitiesListHeaderwidget that fills the empty area at the top of the activities list column. It is constrained to the calendar header height (including the ISO week row) and stays fixed while the list scrolls.Gantt.activitiesListWidthtaking aGanttActivitiesListWidth(width,minWidth,maxWidth,onChanged).widthand save it fromonChanged, which fires once at drag end (only if the width changed).widthon rebuild resets the current width (e.g. a "reset" action).minWidth/maxWidthand always leaves room for at least one day column.activitiesListWidthisnullthe column keeps the current fixed flex layout (activitiesListFlex/gridAreaFlex) — no breaking change.controller.fetch()is triggered at drag end when the visible range changed.^3.8.0/ Flutter>=3.32.0:flutter_lints6 already required it, so the package could not be resolved on the previously declared^3.7.2. Sources are reformatted with the Dart 3.8 formatter style (separatestyle:commit, no logic changes).Merged from #33 (@a-nisi-insideapp)
This PR also ships the 1.4.0 changes of #33 (fix #32), merged with their original commits so a single release is published:
cellHeightrow actions andGantt.collapseActionsBelowWidth("more" menu on narrow lists);GanttActivity.progress/progressColor, contrast-aware cell title, resize edges following the cell color;GanttTheme.listIndent,Ganttfollowing a newtheme,GanttThemevalue equality,GanttController.setTheme;removeAllFetchListener()/dispose()throwing aConcurrentModificationError.As agreed with @a-nisi-insideapp,
Gantt.activitiesListMinWidthfrom #33 is dropped in favor ofGanttActivitiesListWidth.minWidth: without a storedwidththe column starts from its flex share bounded byminWidth, which covers the same narrow-layout use case and also makes the column resizable. The example app uses it instead.Also includes
rowsGroupPaddingapplied only between top-level groups.CI
Workflows aligned with
flutter_supabase_chat_core:ci.yamlreplacesflutter-analyze.yaml: runs on push/PR tomain, matrix on the minimum Flutter version (3.32.0) and stable; format check, analyze, tests with coverage and a pana score threshold (only the 10 pub.dev-only screenshot points may be lost).publish.yaml: publishes to pub.dev onvX.Y.Ztags via GitHub OIDC, gated by thepub.devenvironment. Requires setup: pub.dev Admin > Automated publishing (tag patternv{{version}}, environmentpub.dev) and thepub.devenvironment with required reviewers on GitHub.dependabot.yml: weekly updates for GitHub Actions and pub dependencies (root and example).Notes
Window resizes still don't trigger a refetch when the visible range changes (pre-existing behavior, out of scope).
Test plan
flutter analyze— no issuesflutter test— 32 tests (including the 1.4.0: compact row actions and a progress bar for narrow layouts #33 ones); new widget tests cover initial width, fixed flex layout without config, drag +onChanged, min/max clamping, RTLCo-authored-by: a-nisi-insideapp a.nisi@insideapp.it
🤖 Generated with Claude Code