如何解决Tableau Server过滤器和getfilterAsync承诺
我尝试使其简短一些,请有人可以帮助我。 是javascript新功能 我是javascript语言的新手,我希望使下面的代码尽可能短,谢谢。
我正在使用它在Tableau Server中获取过滤器并在html端显示
感谢您的帮助。
嗨,我想尽量缩短时间,请有人帮我。 是JavaScript的新功能 我是javascript语言的新手,我想使下面的这段代码短一些,谢谢。
我正在使用它来过滤并在html端显示
感谢您的帮助。
function onFilterChanged() {
var sheet = viz.getWorkbook().getActiveSheet();
//worksheet.
if (sheet.getSheetType() === 'worksheet') {
sheet.getFiltersAsync()
.then(function(filters) {
var values = "";
var html = "";
//comment here
for (var i = 0; i < filters.length; i++) {
html += "<b>Filter " + i + ":</b><ul>";
AccessControlFilter = filters[i].getAppliedValues();
html += "<li><b>Field Name:</b> " + filters[i].getFieldName();
//comment here
for (var j = 0; j < AccessControlFilter.length; j++) {
html += "<br/><b>Value:</b> " + AccessControlFilter[j].value;
if (i === 0){
values += AccessControlFilter[j].value + ",";
}
};
html += "</li></ul>";
}
var infoDiv = document.getElementById('filterDetails');
infoDiv.innerHTML = html;
var myVal = values.split(',');
document.getElementById('myList').value = myVal;`enter code here`
})
} else {
// dashboard or story.
var workSheetArray = sheet.getWorksheets();
//comment here
for (var i = 0; i < workSheetArray.length; i++) {
workSheetArray[i].getFiltersAsync()
.then(function(filters) {
var values = "";
var html = "";
//comment here
for (var i = 0; i < filters.length; i++) {
html += "<b>Filter " + i + ":</b><ul>";
AccessControlFilter = filters[i].getAppliedValues();
html += "<li><b>Field Name:</b> " + filters[i].getFieldName();
//comment here
for (var j = 0; j < AccessControlFilter.length; j++) {
html += "<br/><b>Value:</b> " + AccessControlFilter[j].value;
if (i === 0){
values += AccessControlFilter[j].value + ",";
}
};
html += "</li></ul>";
}
//comment here
var infoDiv =
document.getElementById('filterDetails');
infoDiv.innerHTML = html;
//comment here
var myVal = values.split(',');
document.getElementById('myList').value = myVal;
})
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。