我正在使用lineChart来显示创建日期(我的数据中的一个字段),它工作正常,我可以选择,但我需要一个更精确的过滤器:仅适用于今天,本周,上周创建的项目,此月,上个月
是否已经有一个如何完成的例子?我正在努力应用如何应用日期范围过滤器
答案 0 :(得分:3)
由于这个问题时不时出现,如果有一个不错的例子会很好,我会在一段时间后回到NorthSide的问题并修复小提琴。
dc.js - add drop down to select date range
我们将定义第二个时间维度,以便图表受其影响。
在此示例中,我们将天数设置为选项值,然后使用它来计算日期:
<select id="myDropDown">
<option value="Infinity">All</option>
<option value='30'>30 days</option>
<option value='7'>7 days</option>
<option value="2">Top 2 day</option>
<option value="5">Top 5 day</option>
</select>
d3.select('#myDropDown').on('change', function(){
var nd = new Date(now);
nd.setDate(nd.getDate() - +this.value);
filterDimension.filterRange([nd, now]);
dc.redrawAll();
});
http://jsfiddle.net/gordonwoodhull/400wd2nd/16/
有更智能的方法来计算一个月等等,但希望这足以让你开始。
答案 1 :(得分:1)
我添加了一项功能,可以选择当天,当前周或 当月:
<select id="date_select">
<option value="Infinity">All</option>
<option value="today">Today</option>
<option value='1'>last 24 hours</option>
<option value="week">This week</option>
<option value="month">This month</option>
<option value='30'>last 30 days</option>
<option value='90'>last 90 days</option>
</select>
和html是:
$url = 'https://fcm.googleapis.com/fcm/send';
//$field is the parameter you will be sending to FCM server in order to let FCM know which device, and the message you need to send to. You will get a better understading after study the doc.
$fields = array(
'priority' => "high",
'registration_ids' => $tokens,
'data' => $data
);
$headers = array(
'Authorization:key = 'your authorization key',
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
if ($result === FALSE) {
die('Curl failed: ' . curl_error($ch));
}
curl_close($ch);