Skip to content

Stats-flutter v1.3.1 - UI/UX polish II

Choose a tag to compare

@Maicarons Maicarons released this 16 Oct 13:44
· 24 commits to main since this release

Stats-flutter v1.3.1 · UI/UX polish II / 表现层收尾

v1.3.0 把整套界面与交互重做了一遍,计划里还剩一批「延期到 v1.3.1」的条目;本版本把它们全部补完。
统计内核 packages/statkit 依旧未改动,计算口径与 v1.3.0 完全一致,可以直接替换旧版本。

亮点 / Highlights

  • 📊 图表补齐:真正的箱线图(须 / 四分位箱 / 中位数 / 均值菱形 / 离群点,多组并列);新增误差条图(分析目录 32 → 33 项,均值 ± 1.96×SE 须 + 总体均值参考线);Q-Q 图补 45° 参考线与理论/样本分位轴标题;碎石图补肘部虚线(曲率最大处)。
  • 🗂 图表配套:四种图表统一图例与空数据提示(点数不足、方差为零等情形都给出人话说明);tooltip 统一到同一套卡片样式;箱线图分组超过 6 组时折叠为前 6 组,并在图下与报告备注中写明「其余 N 组未显示」。
  • 🧊 数据表格冻结首列:宽屏(≥ 600)冻结「行号 + 首个变量列」,冻结区与滚动区纵向逐像素同步;窄屏只冻结行号列,变量列全部参与横向滚动。
  • ⌨️ 键盘可达:方向键选格、选中后 Enter / F2 进入编辑、Esc 取消、Tab 右移;分析中心 Ctrl/Cmd+K 聚焦搜索框;确认对话框首焦落在主行动按钮;快捷键提示直接写在数据表格工具栏上。
  • ✨ 动效与焦点:分析中心与工程列表的入场 stagger(24 ms 步长、总时长封顶 300 ms,自动尊重系统「减少动效」);自绘焦点环只在键盘操作时出现,触摸点击不闪环,且不额外占用 Tab 位。
  • 📤 分区单独导出:每个报告分区右上角可复制 Markdown、或单独导出 Markdown / HTML(文件名含报告名、分区标题与日期)。
  • 🔐 依赖安全:docs 站点的 5 条 Dependabot 公告全部升到修复版本(vite 5.4.21 → 6.4.4、esbuild 0.21.5 → 0.25.12、source-map-js 1.2.1 → 1.2.2)。

顺带修掉的缺陷 / Bug fixes

  • 数据表格单元格编辑的 Esc / Enter / Tab 在桌面端从未生效(v1.3.0 文档「双击编辑」一节已写明这三个键):按键处理器原先挂在 KeyboardListener 上,而它在 build 时会把自己包装后的回调传给 Focus,FocusNode.attach 执行 this.onKeyEvent = onKeyEvent ?? this.onKeyEvent 时把节点自带的处理器悄悄覆盖掉。改为把处理器挂到单元格 TextField 自己使用的 FocusNode 上,并补上方向键与 F2。
  • 分析参数选择器(变量下拉)在变量名较长时溢出。
  • 图表文字此前就地新建 TextStyle:CustomPaint 里的 TextPainter 不继承 DefaultTextStyle,会丢掉主题字体族(golden 下退化成实心方块);改为从主题 TextTheme 派生。
  • 误差条图的置信区间颜色与图例「95% 置信区间」不一致。
  • 分类轴出现半格刻度造成的重复标签(PC1 PC1 …);碎石图 x 轴与主成分点位对不齐。

质量 / Quality

  • flutter analyze:无警告
  • flutter test:124 项全部通过(widget / 单元 / 无障碍 / 响应式 / 导出 / 数据网格)
  • 视觉基线:15 张 golden(新增「分组箱线图 · 浅色」「箱线图 · 手机 · 深色」「数据表格 · 冻结首列 · 宽屏 · 浅色」),基线由 Windows 生成,CI 上以 --exclude-tags golden 排除,本地用 flutter test --tags golden 验证
  • 文档站点:npm ci + npm run docs:build 通过(24 个页面)

构建环境 / Requirements

  • Flutter 3.41.9 stable(Dart SDK ^3.11.5)
  • statkit 0.4.0(本地 path 依赖,未变更)

产物 / Artifacts

CI 会为本次发布构建并附加:Android APK、Windows x64(zip)、Linux x64(tar.gz)、macOS(zip)。


完整变更清单 / Full changelog:git log app-v1.3.0..app-v1.3.1