Dashing 小部件中的多个列表
Multiple lists in a Dashing widget
我克隆了 Dashing List 小部件并对其进行了编辑,使其包含三个单独的列表,例如 in this image。与小部件关联的作业向 REST API 搜索端点发出 GET 请求,然后创建前五个结果的散列。除了 class 名称之外,coffeescript 未被修改。
小部件显示每个列表的正确项目数,但未显示实际数据(对象名称和视图数)。我 运行 在调试模式下设置仪表板,并且 it is receiving the correct data,但该数据并未填充到小部件本身。
我对 Dashing(以及它使用的许多框架)完全陌生,这是我遇到的第一个绊脚石 运行。怎么了?
工作:
SCHEDULER.every '1h' do
ldata = get_data(lots)
hdata = get_data(houses)
sdata = get_data(stores)
send_event('most-pop-items', {litems: ldata[:mostPop], hitems: hdata[:mostPop], \
sitems: sdata[:mostPop], titems: ldata[:mostPop]})
end
def get_data(org)
@data = { }
response = org.search({:orgid => @data[:id], :sortField => 'numViews', :sortOrder => 'desc'})
@data[:numItems] = response['total']
@data[:mostPop] = {}
for counter in 0..4
@data[:mostPop][counter] = {:label => response['results'][counter]['title'], \
:value => response['results'][counter]['numViews']}
end
return @data
end
小工具 html:
<h1 class="title" data-bind="title"></h1>
<h3 class="htitle" data-bind="htitle"></h3>
<ol>
<li data-foreach-item="hitems">
<span class="label" data-bind="hitem.label"></span>
<span class="value" data-bind="hitem.value"></span>
</li>
</ol>
<ul class="list-nostyle">
<li data-foreach-item="hitems">
<span class="label" data-bind="hitem.label"></span>
<span class="value" data-bind="hitem.value"></span>
</li>
</ul>
<br>
<h3 class="stitle" data-bind="stitle"></h3>
<ol>
<li data-foreach-item="sitems">
<span class="label" data-bind="sitem.label"></span>
<span class="value" data-bind="sitem.value"></span>
</li>
</ol>
<ul class="list-nostyle">
<li data-foreach-item="sitems">
<span class="label" data-bind="sitem.label"></span>
<span class="value" data-bind="sitem.value"></span>
</li>
</ul>
<br>
<h3 class="ltitle" data-bind="ltitle"></h3>
<ol>
<li data-foreach-item="litems">
<span class="label" data-bind="litem.label"></span>
<span class="value" data-bind="litem.value"></span>
</li>
</ol>
<ul class="list-nostyle">
<li data-foreach-item="litems">
<span class="label" data-bind="litem.label"></span>
<span class="value" data-bind="litem.value"></span>
</li>
</ul>
<br>
<h3 class="ttitle" data-bind="ttitle"></h3>
<ol>
<li data-foreach-item="titems">
<span class="label" data-bind="titem.label"></span>
<span class="value" data-bind="titem.value"></span>
</li>
</ol>
<ul class="list-nostyle">
<li data-foreach-item="titems">
<span class="label" data-bind="titem.label"></span>
<span class="value" data-bind="titem.value"></span>
</li>
</ul>
<p class="more-info" data-bind="moreinfo"></p>
<p class="updated-at" data-bind="updatedAtMessage"></p>
尝试将您的数据绑定改回原来的状态,只是 item.label
和 item.value
这些不必像您为匹配 data-for-each
项所做的那样重命名
我克隆了 Dashing List 小部件并对其进行了编辑,使其包含三个单独的列表,例如 in this image。与小部件关联的作业向 REST API 搜索端点发出 GET 请求,然后创建前五个结果的散列。除了 class 名称之外,coffeescript 未被修改。
小部件显示每个列表的正确项目数,但未显示实际数据(对象名称和视图数)。我 运行 在调试模式下设置仪表板,并且 it is receiving the correct data,但该数据并未填充到小部件本身。
我对 Dashing(以及它使用的许多框架)完全陌生,这是我遇到的第一个绊脚石 运行。怎么了?
工作:
SCHEDULER.every '1h' do
ldata = get_data(lots)
hdata = get_data(houses)
sdata = get_data(stores)
send_event('most-pop-items', {litems: ldata[:mostPop], hitems: hdata[:mostPop], \
sitems: sdata[:mostPop], titems: ldata[:mostPop]})
end
def get_data(org)
@data = { }
response = org.search({:orgid => @data[:id], :sortField => 'numViews', :sortOrder => 'desc'})
@data[:numItems] = response['total']
@data[:mostPop] = {}
for counter in 0..4
@data[:mostPop][counter] = {:label => response['results'][counter]['title'], \
:value => response['results'][counter]['numViews']}
end
return @data
end
小工具 html:
<h1 class="title" data-bind="title"></h1>
<h3 class="htitle" data-bind="htitle"></h3>
<ol>
<li data-foreach-item="hitems">
<span class="label" data-bind="hitem.label"></span>
<span class="value" data-bind="hitem.value"></span>
</li>
</ol>
<ul class="list-nostyle">
<li data-foreach-item="hitems">
<span class="label" data-bind="hitem.label"></span>
<span class="value" data-bind="hitem.value"></span>
</li>
</ul>
<br>
<h3 class="stitle" data-bind="stitle"></h3>
<ol>
<li data-foreach-item="sitems">
<span class="label" data-bind="sitem.label"></span>
<span class="value" data-bind="sitem.value"></span>
</li>
</ol>
<ul class="list-nostyle">
<li data-foreach-item="sitems">
<span class="label" data-bind="sitem.label"></span>
<span class="value" data-bind="sitem.value"></span>
</li>
</ul>
<br>
<h3 class="ltitle" data-bind="ltitle"></h3>
<ol>
<li data-foreach-item="litems">
<span class="label" data-bind="litem.label"></span>
<span class="value" data-bind="litem.value"></span>
</li>
</ol>
<ul class="list-nostyle">
<li data-foreach-item="litems">
<span class="label" data-bind="litem.label"></span>
<span class="value" data-bind="litem.value"></span>
</li>
</ul>
<br>
<h3 class="ttitle" data-bind="ttitle"></h3>
<ol>
<li data-foreach-item="titems">
<span class="label" data-bind="titem.label"></span>
<span class="value" data-bind="titem.value"></span>
</li>
</ol>
<ul class="list-nostyle">
<li data-foreach-item="titems">
<span class="label" data-bind="titem.label"></span>
<span class="value" data-bind="titem.value"></span>
</li>
</ul>
<p class="more-info" data-bind="moreinfo"></p>
<p class="updated-at" data-bind="updatedAtMessage"></p>
尝试将您的数据绑定改回原来的状态,只是 item.label
和 item.value
这些不必像您为匹配 data-for-each
项所做的那样重命名