SmartTable 的 _onMetadataInitialised 方法里:
如果标志位 bIsInitialised 已经赋值,说明已经初始化过了,直接返回。
这里说明 SmartTable 有一个自动调整宽度的属性设置:getEnableAutoColumnWidth
拿到 Table view 的metadata:
这里读取 XML 视图里是否允许 Smart Table 进行 Excel 导出的属性设置:
creates VariantMngmntCtrl if useVariantManagement OR useTablePersonalisation is true.
如果 useVariantManagement 或者 useTablePersonalisation 任意一个属性为 true,则创建 Variant management 相关的控件:
这里读取 Personalization 几个 panel 是否已经被启用:
这里还根据操作系统的不同来添加对应的配置:
ShortcutHintsMixin.addConfig( this._oTablePersonalisationButton, { messageBundleKey: Device.os.macintosh ? "SMARTTABLE_SHORTCUT_SHOW_SETTINGS_MAC" : "SMARTTABLE_SHORTCUT_SHOW_SETTINGS" },
使用 Gateway Service 来进行 Smart Table 的 excel 导出:
SmartTable.prototype._triggerGWExport
对于 Smart Control,保留的更改包括用于查询表结果的过滤器的定义,以及对表进行的所有更改,包括表个性化、列的可见性等。 由于我们想要提供可以在本地 Web 服务器上运行的独立示例,因此我们没有连接到可以持久保存更改以便以后可以检索它们的真实的远端服务器。 因此,在我们的示例中,更改仅保留在当前用户会话中。
Smart Table 中 Save View 几个 checkbox 的含义解释:
在这个对话框中,我们指定了这个视图的持久化名称,在我们的例子中是 With Currency EUR。 使用设置为默认值,我们还可以指定在导航到此特定 UI 时是否始终在最初使用此视图(因为在我们的示例中,我们仅在一个浏览器会话中持续存在,因此此设置无效)。使用自动应用,我们定义查询是自动触发的。
Public 背后的想法是,可以自动向所有用户提供一些由多个用户使用的流行但可能相当复杂的查询设置。 此 Public 选项仅在真实服务器上运行时有效,而不像我们的示例中那样在 Mock Server 上运行。