我正在使用Zoomable Icicle布局示例来查看文件夹层次结构。
我目前使用过滤功能如下:
var data = partition.nodes(root).filter(
function (d) {
return d.parent == null ? d.children && d.dateAccessed > formattedD : d.children && d.dateAccessed > formattedD && d.parent.dateAccessed > formattedD;
});
根据文件夹的dateAccessed是否在特定日期之后,过滤掉是否需要显示/不显示文件夹(包含其所有子文件夹)。
然后我使用此数据变量的示例代码来绘制分区。
rect = rect
.data(data)
.enter().append("rect")
.attr("x", function (d) { console.log(!d.children); return x(d.x); })
.attr("y", function (d) { return y(d.y); })
.attr("width", function (d) { return x(d.dx); })
.attr("height", function (d) { return y(d.dy); })
.attr("fill", function (d) {
return (type == "Documents") ? '#9370DB' : (type == "Pictures") ? '#87CEFA' : (type == "Music") ? '#6B8E23' : (type == "Videos") ? '#F0E68C' : "#000000";
})
.on("click", clicked);
我需要布局来重新计算放置文件夹的位置,因为它当前保留了已过滤文件夹的空间(请参阅附图)。 (请原谅图像中文件夹的分解,就是在阅读时的情况。)
非常感谢。