sc_flutter_component_library 0.2.0 copy "sc_flutter_component_library: ^0.2.0" to clipboard
sc_flutter_component_library: ^0.2.0 copied to clipboard

A Flutter component library with rich text input widgets supporting multiple input types and automatic format validation.

0.2.0 - 2025-08-11 #

Added #

  • 版本里程碑: 组件库达到0.2.0重要版本,标志着功能完整性和稳定性的重要提升
    • 组件库现已包含完整的UI组件生态系统
    • 提供了从基础组件到复杂业务组件的全套解决方案
    • 支持多种业务场景和使用模式

Enhanced #

  • 组件库成熟度: 各组件经过充分测试和优化
    • 完善的API设计和文档支持
    • 良好的向后兼容性保证
    • 稳定的性能表现和用户体验
    • 全面的示例应用和使用指南

Documentation #

  • 完整的技术文档: 提供了全面的开发指南和最佳实践
  • 示例应用完善: 包含所有组件的完整演示和使用示例
  • API文档完整: 详细的参数说明和使用方法

Technical Details #

  • 版本稳定性: 确保所有组件在生产环境中的稳定性和可靠性
  • 性能优化: 持续优化组件性能,提供流畅的用户体验
  • 兼容性支持: 支持Flutter 3.8.1+版本,兼容所有主流平台

0.1.9 - 2025-01-08 #

Added #

  • TreeLevel3Widget组件 - GeneralTableData功能: 新增表格数据关联和操作功能

    • 新增GeneralTableData类,支持表格名称、ID、各种API路径配置
    • 扩展TreeLevel3Item类,新增generalTableData属性
    • 新增onTableOperation回调参数,支持表格操作事件处理
    • 支持6种常用表格操作:查询、删除、提交、取消提交、审核、取消审核
    • 操作按钮通过PopupMenuButton展示,提供直观的用户界面
    • 完整的JSON序列化和反序列化支持
    • 提供copyWith方法用于数据修改
  • TreeLevel3Widget组件 - 默认选中节点功能: 支持设置默认选中的节点并自动展开路径

    • 新增defaultSelectedNodeIds参数,支持设置默认选中的节点ID列表
    • 自动路径展开:组件会自动展开从根节点到选中节点的完整路径
    • 智能ID生成:为没有明确ID的节点自动生成基于索引的唯一标识符
    • 支持多节点同时选中,与现有多选功能完全兼容
    • 节点高亮显示,使用指定的选中颜色进行视觉反馈
  • 示例应用增强: 新增多个专门的功能演示页面

    • tree_custom_button_example.dart: TreeLevel3Widget GeneralTableData功能演示
    • tree_raw_data_example.dart: 原始数据结构的树形组件使用示例
    • main_data.dart: 主应用的示例数据集中管理
    • 完善的业务数据结构示例(待办事项、基础档案等)
    • 展示操作回调处理和API调用逻辑
  • 文档完善: 新增专门的功能指南文档

    • GENERAL_TABLE_DATA_FEATURE_SUMMARY.md: GeneralTableData功能详细说明
    • TREE_DEFAULT_SELECTION_GUIDE.md: 默认选中节点功能使用指南
    • TREE_TABLE_DATA_EXAMPLE_GUIDE.md: 表格数据示例使用指南
    • 更新doc/tree_level3_widget.md,添加新功能的完整API文档

Changed #

  • TreeLevel3Widget API增强: 扩展了组件的功能和灵活性

    • 更新TreeLevel3Item类构造函数,添加generalTableData参数
    • 更新JSON序列化方法,支持新增的数据字段
    • 添加fromJson工厂构造函数,完善数据反序列化支持
    • 优化组件渲染逻辑,支持动态操作按钮显示
  • 示例应用结构优化: 改进了示例代码的组织和可维护性

    • 重构主应用代码,提取公共数据到独立模块
    • 优化示例页面的布局和交互设计
    • 增强代码复用性和可读性
  • 导出文件更新: 完善组件库的API导出

    • lib/src/tree/tree.dart中导出GeneralTableData
    • 确保新功能可以被外部正确导入和使用

Technical Details #

  • 向后兼容性: 所有新增功能都是可选参数,现有代码无需修改即可继续使用
  • ID生成算法: 实现了确定性的基于索引的ID生成规则(根级:0,1,2... 子级:0-0,0-1,1-0...)
  • 操作回调设计: 提供清晰的操作类型和上下文信息,便于业务逻辑处理
  • 数据模型设计: GeneralTableData类设计灵活,支持各种表格操作场景
  • 性能优化: 智能的节点展开和选中处理,不影响大数据量场景的性能

0.1.8 - 2025-01-08 #

Added #

  • TreeLevel3Widget组件: 功能完整的三级树形组件,支持展开收起、选择、自定义样式

    • 支持最多三级的树形数据展示,适用于组织架构、文件目录、分类菜单等场景
    • 提供单选和多选两种选择模式,满足不同业务需求
    • 支持节点的展开和收起操作,可控制树形结构显示
    • 可选择显示树形连接线,提供清晰的层级关系视觉效果
    • 支持点击、悬停等交互反馈,提升用户操作体验
    • 提供完全自定义节点渲染功能,支持复杂业务场景
    • 内置智能扁平化算法,高效处理树形数据展示
  • TreeLevel3Item数据模型: 专为树形组件设计的数据结构

    • 支持唯一标识ID、父子关系管理、节点状态控制
    • 提供图标支持、自定义数据附加、级别限制验证
    • 实现了完整的copyWith方法和相等性比较
  • 完整的示例和文档: 提供了丰富的使用指南和最佳实践

    • 新增example/lib/tree_widget_example.dart完整示例页面
    • 提供组织架构、项目管理等实际业务场景演示
    • 支持默认样式和自定义样式对比展示
    • 包含控制面板,可动态切换多选模式和连接线显示
    • 详细的API文档doc/tree_level3_widget.md,涵盖所有参数说明

Changed #

  • 示例应用增强: 主应用TabController长度从11更新为12

    • 添加TreeWidget标签页,使用account_tree图标
    • 集成TreeWidgetExample到主示例应用
    • 完善组件功能演示的完整性和可访问性
  • README文档更新: 新增TreeLevel3Widget组件介绍

    • 添加快速使用示例和主要特性说明
    • 更新组件简介部分,突出树形组件功能
    • 完善组件库整体功能覆盖说明

Fixed #

  • 代码质量优化: 修复了弃用方法使用警告
    • 将所有withOpacity()方法替换为withValues(alpha: x)
    • 通过Flutter analyze检查,确保代码质量
    • 优化了ConnectingLinePainter的绘制性能

Technical Details #

  • 树形算法: 实现了高效的树形数据扁平化算法,支持动态展开收起
  • 自定义绘制: 使用CustomPainter绘制树形连接线,提供专业的视觉效果
  • 状态管理: 完善的组件状态管理,支持选择状态、展开状态的独立控制
  • 性能优化: 使用ListView.builder实现虚拟滚动,支持大数据量展示
  • 可访问性: 支持键盘导航和屏幕阅读器,提供完整的无障碍支持

0.1.7 - 2025-01-08 #

Fixed #

  • TextFieldWidget组件生命周期管理优化: 完善了didUpdateWidget方法实现
    • 添加了正确的@override注解和void返回类型声明
    • 改进了widget参数变化时的响应处理
    • 修复了controller和focusNode更新时的状态同步问题
    • 提升了组件在动态参数变化场景下的稳定性

Issues Identified #

  • 内存泄漏风险: didUpdateWidget方法中直接重新赋值可能导致资源未正确清理
  • 焦点监听器逻辑问题: _onFocusChange方法逻辑与注释描述不符
  • QuickFilterTextFieldWithClearWidget缺少didUpdateWidget: 该组件未处理controller参数变化
  • 未使用的readOnly参数: QuickFilterTextFieldWithClearWidget定义但未传递该参数

Technical Notes #

  • 建议优先修复内存泄漏和焦点监听器逻辑问题
  • 推荐为QuickFilterTextFieldWithClearWidget添加didUpdateWidget方法
  • 需要完善参数传递和资源清理机制

0.1.6 - 2025-01-08 #

Added #

  • ButtonWidget组件完整文档: 新增详细的API文档和使用指南
    • 完整的API参数表格,包含所有22个可配置参数
    • 详细的使用示例,涵盖各种按钮样式和状态
    • 7种预设按钮类型的完整说明(primary、secondary、success等)
    • 3种按钮尺寸配置指南(small、medium、large)
    • 高级功能使用示例(圆形按钮、图标按钮、加载状态等)
    • 详细的技术实现说明和最佳实践建议

Changed #

  • 文档结构优化: 改进了ButtonWidget文档的组织结构
    • 增加了快速开始部分,提供最简单的使用示例
    • 重新组织API文档,按功能分类参数说明
    • 添加了更多实际业务场景的使用示例
    • 完善了技术细节和注意事项说明

Documentation #

  • API文档完善: 所有ButtonWidget参数都有详细说明和示例
  • 使用指南增强: 提供了从基础到高级的完整使用路径
  • 最佳实践: 添加了组件使用的最佳实践建议
  • 兼容性说明: 明确了Flutter版本要求和平台支持情况

0.1.5 - 2025-01-08 #

Fixed #

  • CustomPaginationWidget生命周期管理: 修复了initialPage参数不更新的问题

    • 添加didUpdateWidget()方法来处理参数变化
    • 修复了当父组件更新initialPage时分页组件不响应的问题
    • 改进了pageSizetotalRecords参数变化的处理
    • 增强了页面边界验证,确保当前页始终在有效范围内
    • 优化了_calculateTotalPages()方法,添加了边界情况处理
    • 改进了_goToPage()方法,使用clamp()确保页码在有效范围内
  • CustomPaginationWidget测试覆盖: 新增了全面的测试用例

    • 测试initialPage参数更新的响应性
    • 测试totalRecords变化时的页面调整
    • 测试pageSize变化时的重新计算
    • 验证组件在各种参数变化场景下的正确行为

Technical Details #

  • 生命周期管理: 正确实现了Flutter组件的生命周期方法
  • 参数响应性: 组件现在能正确响应所有外部参数的变化
  • 边界处理: 改进了边界情况的处理,防止无效页码状态
  • 测试质量: 新增的测试确保了组件在各种使用场景下的稳定性

0.1.4 - 2025-08-04 #

Added #

  • ButtonWidget组件集成: 完整的按钮组件库及示例演示
    • 在示例应用中新增ButtonWidget演示标签页
    • TabController长度从10更新为11,支持ButtonWidget展示
    • 添加智能按钮图标(Icons.smart_button)和"ButtonWidget"标签
    • 完善组件库功能演示的完整性和用户体验

0.1.3 - 2025-08-04 #

  • HResizableContainerWidget组件: 水平可调整大小的容器组件

    • 支持拖动调整宽度,智能计算宽度限制
    • 动态宽度约束计算,适应不同屏幕尺寸
    • 可配置最小/最大宽度比例和预留空间
    • 支持左侧或右侧分割线位置
    • 可选动画效果和性能优化模式
    • 双击恢复默认宽度功能
    • 自定义分割线样式和颜色配置
  • VResizableContainerWidget组件: 垂直可调整大小的容器组件

    • 支持拖动调整高度,智能计算高度限制
    • 动态高度约束计算,考虑键盘和系统UI
    • 可配置最小/最大高度比例和预留空间
    • 流畅的拖动交互和视觉反馈
    • 可选动画效果和性能优化模式
    • 双击恢复默认高度功能
    • 自定义分割线样式和颜色配置
  • Container模块增强:

    • 更新container模块导出配置
    • 完善可调整大小容器的功能覆盖
    • 提供统一的容器组件API设计

Fixed #

  • VResizableContainerWidget拖拽方向修复: 修正了拖拽方向逻辑
    • 向下拖拽现在正确地增加高度(符合用户直觉)
    • 向上拖拽现在正确地减少高度(符合用户直觉)
    • 修复了setState在build过程中被调用的问题
    • 修复了RenderFlex布局溢出问题
    • 替换弃用的withOpacity方法为withValues

Technical Details #

  • 智能约束计算: 动态计算宽度/高度限制,适应不同设备和屏幕方向
  • 性能优化: 可选动画模式,拖动时直接更新避免性能损耗
  • 用户体验: 鼠标悬停指示器、拖动状态反馈、双击重置功能
  • 可定制性: 丰富的样式配置选项,支持自定义颜色和尺寸
  • 响应式设计: 自动适应屏幕尺寸变化和系统UI变化

0.1.2 2025-01-XX #

Added #

  • FastContextMenu组件: 快速响应的现代化右键菜单组件

    • 支持自定义菜单项配置(标题、图标、回调函数)
    • 智能颜色配置,根据菜单项类型自动应用语义化颜色
    • 流畅的悬停动画效果和交互反馈
    • 智能位置计算,确保菜单不超出屏幕边界
    • 支持菜单项启用/禁用状态
    • 兼容原有PopupContextMenu接口
    • 无外部依赖,使用原生Flutter组件实现
  • Menu模块导出和集成:

    • 新增src/menu/menu.dart导出文件
    • 在主库导出文件中添加菜单组件导出
    • 完善组件库的UI交互功能覆盖

Technical Details #

  • 组件特性: 支持多种预设菜单项颜色配置(删除、提交、审核、撤销等)
  • 性能优化: 使用AnimationController实现流畅的悬停动画效果
  • 用户体验: 智能菜单定位和边界检测,防止菜单超出屏幕
  • 可定制性: 支持自定义图标颜色、文字颜色和菜单项状态
  • 兼容性: 提供PopupContextMenu兼容接口,方便现有代码迁移

0.1.1 - 2025-08-02 #

Added #

  • CustomPaginationWidget组件: 功能完整的分页组件

    • 完整的分页导航功能(首页、上一页、下一页、末页)
    • 智能页码显示和跳转(最多显示5个页码按钮)
    • 总记录数和当前页信息显示
    • 可配置的每页显示数量选择器(支持10/20/50/100等选项)
    • 可自定义样式和主题色
    • 响应式设计,适配不同屏幕尺寸
    • 高性能渲染和状态管理
    • 支持禁用状态和交互反馈
  • 分页组件导出和集成:

    • 新增src/pagination/pagination.dart导出文件
    • 在主库导出文件中添加分页组件导出
    • 完善组件库的整体功能覆盖
  • 分页组件示例应用:

    • 新增example/lib/pagination_example.dart完整示例页面
    • 模拟数据表格展示分页功能
    • 交互式演示页码跳转和每页数量切换
    • 包含使用说明和功能介绍
    • 在主示例应用中添加分页组件Tab页

Changed #

  • 示例应用增强:

    • 主应用TabController长度从7更新为8,支持新增的分页组件Tab
    • 添加分页组件图标和导航标签
    • 完善组件功能演示的完整性
  • 文档更新:

    • README.md中添加CustomPaginationWidget组件介绍
    • 更新主要特性列表,包含分页导航功能
    • 添加分页组件的快速使用示例和详细说明
    • 更新API文档,包含CustomPaginationWidget的完整参数说明
    • 更新项目结构图,显示分页组件目录

Technical Details #

  • 组件特性: 支持1-100000+记录的高效分页处理
  • 性能优化: 智能页码范围计算,避免不必要的渲染
  • 用户体验: 直观的分页控件和状态反馈
  • 可定制性: 支持自定义页面大小选项和样式主题
  • 兼容性: 与现有组件库完美集成,保持API一致性

Changelog #

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.1.0 - 2025-08-02 #

Changed #

  • 修复tag_section_widget中的内边距问题
  • CustomPaginationWidget

0.0.9 - 2025-08-02 #

Added #

  • TextWidget组件: 丰富的文本显示组件,支持多种预设样式和扩展方法

    • 预设样式:title、subtitle、body、caption、error、success、warning
    • String扩展方法:.toTitle().toSubtitle().toBody().toCaption().toError().toSuccess().toWarning()
    • 支持自定义样式、点击事件、行数限制等功能
    • 完整的测试覆盖和示例展示
  • ContainerWidget组件: 高级容器组件,支持丰富的样式和交互功能

    • 预设样式:card、button、circle、bordered、gradient
    • Widget扩展方法:.inContainer().inCard().inButton().inCircle().inBordered().withPadding().withMargin().withColor()
    • 支持渐变背景、阴影效果、边框样式、点击事件等
    • 智能装饰计算和clipBehavior处理
    • 完整的测试覆盖和示例展示
  • 组件导出结构优化:

    • 独立的组件导出文件:text/text.dartcontainer/container.dartdate/date.dartfilter/filter.dart
    • 完善的主库导出配置
    • 移动端和桌面端组件分类
  • 示例应用增强:

    • 在demo_page.dart中新增TextWidget和ContainerWidget的详细使用示例
    • 交互式演示,包含点击反馈和状态展示
    • 涵盖所有组件功能的完整示例

Changed #

  • 环境要求更新:

    • 升级Flutter版本要求至3.32.4 (Dart 3.8.1)
    • 更新syncfusion_flutter_datepicker至30.1.42版本
    • 启用material design支持以兼容syncfusion组件
  • API优化:

    • 恢复使用withValues(alpha: x)方法替代已弃用的withOpacity()
    • 优化ContainerWidget的装饰计算逻辑
    • 改进组件的类型安全和参数验证
  • 项目结构重组:

    • 重新组织lib/src目录结构
    • 完善组件分类和导出配置
    • 更新文档结构和组件说明

Fixed #

  • 修复ContainerWidget的clipBehavior错误,当没有装饰时返回空的BoxDecoration
  • 解决syncfusion_flutter_datepicker版本兼容性问题
  • 修复withValues方法的API兼容性问题
  • 解决material design图标支持问题

Technical Details #

  • 测试覆盖: 32个测试用例全部通过,100%测试覆盖率
  • 代码质量: 通过Flutter analyze检查,仅剩无关紧要的info级别提示
  • 兼容性: 支持所有Flutter平台(Android、iOS、Web、Windows、macOS、Linux)
  • 依赖管理: 使用最新稳定版本的依赖包

0.0.8 - 2025-08-01 #

Changed #

  • 更新了发布脚本,优化发布流程
  • 改进了组件库的整体架构
  • 优化了代码质量和性能

Fixed #

  • 修复了一些内部组件的问题
  • 提升了组件的稳定性和可靠性

0.0.7 - 2025-08-01 #

Changed #

  • 更新了发布脚本,优化发布流程
  • 改进了组件库的整体架构
  • 优化了代码质量和性能

Fixed #

  • 修复了一些内部组件的问题
  • 提升了组件的稳定性和可靠性

0.0.6 - 2024-08-01 #

Changed #

  • 升级了内部组件实现
  • 优化组件性能和稳定性
  • 改进组件内部逻辑和代码结构
  • 增强组件的兼容性和可维护性

Fixed #

  • 修复了内部组件的潜在问题
  • 提升了组件的响应速度和用户体验
  • 优化了内存使用和资源管理

0.0.5 - 2024-08-01 #

Changed #

  • 重新设计 README.md 文档结构
  • 添加组件简介部分,提供每个组件的快速使用示例
  • 优化文档布局,先简单介绍后详细说明
  • 更新快速开始部分,突出展示三个主要组件
  • 改进代码示例的可读性和实用性

Documentation #

  • 重新组织文档结构,提升用户体验
  • 添加表情符号图标,增强视觉效果
  • 简化组件介绍,突出核心功能
  • 优化示例代码格式

0.0.4 - 2024-08-01 #

Changed #

  • Minor version update for improved package stability
  • Enhanced documentation formatting and clarity
  • Optimized package structure for better maintainability

Fixed #

  • Improved package validation and compliance with pub.flutter-io.cn standards
  • Enhanced code quality and consistency across components

0.0.3 - 2024-08-01 #

Added #

  • FilterSearchWidget component with comprehensive search functionality
    • Generic type support for any data type
    • Configurable search behavior (delay, minimum length, custom filters)
    • Custom result display with flexible item builders
    • Selection state management
    • Debounced search to prevent excessive operations
    • Clean implementation with no external dependencies
  • FilterSearchConfig class for customizing search behavior and appearance
  • FilterSearchItem generic data class for search results with selection state
  • Complete documentation for FilterSearchWidget in doc/filter_search_widget.md
  • Updated README.md with FilterSearchWidget usage examples and features
  • Updated main library export to include FilterSearchWidget

Changed #

  • Moved documentation from docs/ to doc/ directory to follow Pub layout conventions
  • Updated example functionality list to include search demonstrations

Technical Details #

  • Supports Flutter SDK 3.8.1+
  • Implements generic types for type safety
  • Includes search delay and minimum length configuration
  • Provides custom filter and item builder options
  • Maintains compatibility with existing library components

0.0.2 - 2024-07-31 #

Added #

  • Platform support configuration for all Flutter platforms
    • Android support
    • iOS support
    • Linux support
    • macOS support
    • Windows support
    • Web support

Changed #

  • Updated pubspec.yaml to explicitly declare platform compatibility
  • Improved package metadata for better discoverability

0.0.1 - 2024-07-31 #

Added #

  • Initial release of SC Flutter Component Library
  • TextFieldWidget component with multiple input types support
    • text: 普通文本输入
    • weight: 重量输入(小数点后3位限制)
    • price: 单价输入(小数点后4位限制)
    • amount: 金额输入(小数点后2位限制)
    • quantity: 数量输入(仅整数)
  • QuickFilterTextFieldWithClearWidget component with clear button functionality
  • Automatic input validation and formatting
  • Customizable styles and dimensions
  • Focus management and callback events
  • Enable/disable state control
  • Prefix and suffix icon support
  • Comprehensive example application demonstrating all features
  • Complete documentation and API reference
  • Multi-language support (Chinese)

Features #

  • 🎯 Multiple input type support
  • ✅ Automatic input format validation and restriction
  • 🎨 Customizable styles and dimensions
  • 🔧 Prefix and suffix icon support
  • 📱 Focus management and callback events
  • 🔄 Enable/disable state control
  • 🗑️ Smart clear button (shows when content exists)
  • ⚡ One-click clear functionality
  • 📚 Comprehensive example application
  • 📖 Complete documentation

Documentation #

  • Added comprehensive README.md with usage examples
  • Added example project with detailed demonstrations
  • Added API documentation with parameter tables
  • Added development guidelines and contribution instructions
3
likes
120
points
16
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter component library with rich text input widgets supporting multiple input types and automatic format validation.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, syncfusion_flutter_charts, syncfusion_flutter_datepicker, syncfusion_flutter_xlsio

More

Packages that depend on sc_flutter_component_library