私はプロジェクトに取り組んでおり、vis.jsを使ってタイムラインにデータを表示する必要があります。しかし、データがどのようにキャプチャされているかによって、ページが読み込まれるときに、タイムラインのデータセットをいくらか動的に構築する必要があります。そのことを念頭に置いて、私はこれを行う方法を試し始めましたが、私自身が知識が不足していることが主な原因となっている障害物にぶつかりました。vis.jsデータセットを動的に構築する
私が使っているテストコードは次のとおりです(私はこれが最高のコードではないことを認識していますが、現時点では機能に焦点を当てていますが、私はすべての耳です!)私がしたいのは、変数データセットのコンテンツを使用してデータセットを構築することです。しかし、単にその変数を新しいvis.DataSetに渡そうとすると、可視化が構築されません。私は誰もが提供できる指導を感謝します。私はvis.jsがそれを受け入れるために何らかの方法でその変数を変換する必要があるのかどうか疑問に思っていましたが、それが本当にそうであるかどうか、もしそうならば、どのように判断できるのでしょうか。
var ERP = "yes";
var ERPDate = "2018";
var CRM = "no";
var CRMDate = "2019";
var IDSeq = 1;
var datasetlist = "";
var yesCount = 0
//count totalitems
if (ERP == "yes") {
yesCount = (yesCount + 1);
}
if (CRM == "yes") {
yesCount = (yesCount + 1);
}
//builddataset
if (ERP == "yes"){
if (yesCount == IDSeq) {
datasetlist = datasetlist + "{id: " + IDSeq + ", content: \'ERP\', start: \'" + ERPDate + "\'}";
} else {
datasetlist = datasetlist + "{id: " + IDSeq + ", content: \'ERP\', start: \'" + ERPDate + "\'},";
}
IDSeq = IDSeq +1
}
if (CRM == "yes"){
if (yesCount == IDSeq) {
datasetlist = datasetlist + "{id: " + IDSeq + ", content: \'CRM\', start: \'" + CRMDate + "\'}";
} else {
datasetlist = datasetlist + "{id: " + IDSeq + ", content: \'CRM\', start: \'" + CRMDate + "\'},";
}
}
//datasetlist = "{id: 1, content: 'ERP', start: '2018'}"
//window.alert(datasetlist);
// DOM element where the Timeline will be attached
var container = document.getElementById('visualization');
// Create a DataSet (allows two way data-binding)
var items = new vis.DataSet(datasetlist);
// Configuration for the Timeline
var options = {
height: '500px',
start: new Date(2015, 1, 15),
end: new Date(2025, 1, 15),
timeAxis: {scale: 'year', step: 1}
};
// Create a Timeline
var timeline = new vis.Timeline(container, items, options);