从 SAP Fiori Elements 实现源代码中的 SmartTable.xml 能看出,ListReport 类型的 SAP Fiori Elements 应用,其表格类型包含 4 种:
- AnalyticalTable
- TreeTable
- GridTable
- ResponsiveTable
这些表格类型,运行时是如何计算出来的?
在 preparationHelper.js 的 getNormalizedTableSettings 里能找到答案。
默认的 table 设置的字段 tableType, 如果 gridTable 或者 treeTable 不为空,则表格类型为对应的 GridTable 或者 TreeTable.
根据 entity type 的字符串名称,拿到对应的 entity type json 对象:
HeaderInfo:表头信息
默认选择类型是:SingleSelectLeft
此处可见,如果 OData entity type 的 sap:semantics 值为 aggregate,则 table 类型为 AnalyticalTable, 否则为 ResponsiveTable.
更多Jerry的原创文章,尽在:"汪子熙":