【问题标题】:Dynamic Widgets in DashingDashing 中的动态小部件
【发布时间】:2015-10-13 13:09:48
【问题描述】:

我不熟悉使用 ruby​​ 和 Coffee 脚本,但我已经设法在单个小部件中显示数据。

我试图从逻辑上思考如何为集合中的每个条目创建一个小部件。

有谁知道如何在调用服务并获取数据集合后创建小部件。

例如:

entries: [
    {
        name: "bob",
        age: 21
    },
    {
        name: "alex",
        age: 42
    },
    {
        name: "fred",
        age: 35
    }
]

我希望能够逐个浏览这些条目并为每个条目创建一个小部件。这可能吗?

【问题讨论】:

    标签: dashing


    【解决方案1】:

    这很容易。从作业文件夹中的任何 Ruby 脚本中,您通常会使用 send_event 调用更新小部件,如下所示:

    send_event(widget.to_s, bus_info)
    

    这将更新相应的小部件。但是,作业可以尽可能多地进行此调用,因此可以在其运行中更新数十个小部件。您可以遍历您的列表并为列表中的每个项目运行 send_event() 。玩它,如果你卡住了,请告诉我,我可以整理一个更大的例子,但希望你可以使用上面的内容来帮助你。

    【讨论】:

    • 您好,感谢您的回复。我正在遍历对象,但没有为每个条目/对象生成一个新的小部件。您能否用您已经提到的内容进行更多解释。我知道破折号的 id 链接到 send_event 但不确定如何将数据显示到破折号上自己的小部件中。
    【解决方案2】:

    这里有一个来自我们 zendesk 小部件集的更完整示例。

    def update_dashing(view, value)
      puts 'sending ' + view + ' : ' + value.to_s
      send_event('zendesk-' + view, current: value, status: 'normal',
                                service: 'Zendesk')
    end
    
    def update_zendesk(views)
      counts = zendesk_client.view_counts(ids: views, path: 'views/count_many')
      counts.all do |ct|
        next unless ct.fresh
        update_dashing(ct.view_id.to_s, ct.value.to_i)
      end
    end
    

    zendesk_client.view_counts() 函数返回一个<view_id>:<count> 对的列表,然后我们循环遍历该列表。

    【讨论】:

      猜你喜欢
      • 2015-12-01
      • 2017-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多