为什么谷歌会在UI5应用程序/仪表板中绘制图表?
我一直在开发一个运行在XSOData上的实时销售仪表盘。因此,我使用VIZ图表、微图表、表格等构建了一个定制的UI5仪表板,并部署在FLP中。我们使用的是1.38UI5库版本,这肯定有其局限性。我个人不喜欢viz基于图表的仪表板,因为它与其他第三方图表库相比没有区别(请在评论框中批评)。
不管怎样,我想尝试一些第三方图表库,好评返现图片,可能看起来更好,最后我尝试了Google图表。
下面是一个Google图表在表格行中的测量示例。
设计
像viz图表一样,Google图表也给我们提供了一系列标准的图形,如线、列、条、组合等。因此,我为这些图表中的每一个创建了一组自定义控件,并为它们创建了容器,以便将它们放入仪表板中。我把这些图表都称为卡片,把装卡片的容器称为卡片行。卡片行可以包含多张卡片。一个持卡人控件可以容纳多个卡片行。我做了所有这些,使筑巢。看看它是如何工作的。
卡片:一个基本控件,淘客助手下载,它应该扩展到特定的图表控件(例如:卡片扩展到折线图、柱形图等)CardRow:有一个聚合"items",淘客模板,接受卡片或持卡人。持卡人:持卡人有一个工具栏,有一个接受CardRows的聚合"行"。
一个持卡人有一行,一行有两张卡。
两行各有一个项目
嵌套的卡和行
下面是如何排列卡(缩放查看)
卡、CardRows和持卡人
卡
的特征呈现时,它会引发一个事件"chartLoaded"。我们需要注册一个事件处理程序,在那里我们可以填充必要的数据。
另外,控件有一个refreshInterval属性。我们可以设置(比如30秒),使"chartLoaded"事件每30秒触发一次—如果您想以相等的间隔重新加载图表,这很有用。我使用此事件显示当前销售,因为它每60秒刷新一次磁贴。我们可以为每个图块单独设置刷新间隔。右上角的
设置按钮允许用户全屏显示图表。我们也可以关闭它。
卡片可以点击。如果启用enableClick属性,则可以单击互动程序并处理单击。
卡片行
将任何项目放置在卡片行上时,它是水平排列的(与行中的列类似)。你也可以注册一个"rowUpdateInterval"事件(比如30秒),这样每隔30秒就会触发一个"rowUpdated"事件。我使用这个功能来切换添加到行中的卡片的可见性。
卡片持有者
你可以显示或隐藏标题栏。
下面是我到目前为止创建的控件类型
用例
我有一个要求开发一个实时仪表盘,以图形化的方式显示每日销售KPI和报告(很快将在电视上播放)。它显示实时数据(销售量、收入、开放和关闭的交货、发货、性能等)。我使用googlechart中的多个图表来开发仪表板。如果适用,软件企业管理,它会自动刷新数据。(由于明显的原因,我不能在这里发布截图)
下一步是什么?
这些控制目前存在以下问题。一旦他们是固定的,大数据的趋势,我将上传整个源代码在Git和分享它在这里。如果您有兴趣,请关注本博客。