规划

随着FixedDataTable的核心维护者发生了变化,我们希望为FDT(Fixed Data Table)的未来提供一个规划。本文档提供了v2.0版本的时间表和一些目标。

核心目标#

这是我们对FDT的目标和理念的快速清单,以及我们如何继续发展该项目。

理念#

我们希望FDT继续专注于提供用于处理大量数据的简单网格。因此,我们打算着重于提供有关基本功能的良好体验,并将其留给我们的用户以扩展库以用于特定的用例。

随着对新功能的要求的到来,我们打算通过在API中公开适当的钩子并允许在FDT之上构建事物,而不是直接扩展FDT来解决这些问题。为了便于采用,我们还将创建示例来实现常见的功能,例如过滤和排序,工具提示或上下文菜单。我们会及时将这些示例增强到使用FDT作为其核心渲染器的插件系统或更高级的库中。

支持的功能#

FDT将重点放在提供具有这些功能的表格上

  • 滚动处理
  • 无限滚动/渲染窗口行
  • 动态/伸缩列宽
  • 固定列
  • 可调整大小的列
  • 可重新排序的列

其他功能#

尽管我们不打算破坏现有功能,但将来可能会弃用或更改这些功能的工作方式。

  • 列组
  • 默认样式

未来功能#

我们正在探索如何支持这些改进

  • 列虚拟化(v2.0)
  • 固定行(v2.0)
  • 灵活的样式/主题(v2.0)
  • 多行/多列单元格(以后)

其他改进#

  • 附加单元测试
  • ES6和样式改进
  • 清理构建系统
  • 展示常见用例的更多示例

时间轴和依赖项#

v2.0#

目标定于2019年第三季度

我们的主要重点是通过可组合性使FDT可重用。在Schrodinger,我们在FDT之上实现固定行,更灵活的列组以及更高效的列重新排序方面取得了巨大的成功。我们希望改进FDT的示例并演示这些功能。

我们还将发布一个用于指定行高的新API,并更加坚定地支持动态行高。在此版本之后,我们的首要任务是根据rowHeightGetter修补用户发现的所有错误。我们还提出了许多改进样式的要求。我们想开发一个易于扩展的样式插件系统。这将涉及缩减我们的默认样式,并创建易于构建和共享的主题以对网格进行样式设计,以替代当前系统的难题。

目标项目#

  • 对动态行高的强大支持
  • 列虚拟化
  • 固定行
  • 灵活的样式和主题