Javascript Tableau服务器筛选器和getfilterAsync承诺
我尽量让它短一点,有人能帮我吗。 我是javascript新手 我是javascript新手,我想让下面的代码尽可能短一些,谢谢 我使用它在tableau服务器中获取过滤器,并在html端显示它 谢谢你的帮助Javascript Tableau服务器筛选器和getfilterAsync承诺,javascript,promise,tableau-api,async.js,Javascript,Promise,Tableau Api,Async.js,我尽量让它短一点,有人能帮我吗。 我是javascript新手 我是javascript新手,我想让下面的代码尽可能短一些,谢谢 我使用它在tableau服务器中获取过滤器,并在html端显示它 谢谢你的帮助 function onFilterChanged() { var sheet = viz.getWorkbook().getActiveSheet(); //worksheet. if (she
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;
})
}
}
}
嗨,我试着把它缩短一些。有人能帮我吗。
我是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;
})
}
}
}
函数onFilterChanged(){
var sheet=viz.get工作簿().getActiveSheet();
//工作表。
如果(sheet.getSheetType()=='工作表'){
sheet.getFilterAsync()
.then(功能(过滤器){
var值=”;
var html=“”;
//评论这里
对于(变量i=0;i”;
AccessControlFilter=filters[i].GetAppliedValue();
html+=“字段名:”+过滤器[i].getFieldName();
//评论这里
对于(var j=0;j 值:”+AccessControlFilter[j]。值;
如果(i==0){
values+=AccessControlFilter[j]。值+“,”;
}
};
html+=“ ”;
}
var infoDiv=document.getElementById('filterDetails');
infoDiv.innerHTML=html;
var myVal=values.split(',');
document.getElementById('myList')。value=myVal;`在此处输入代码`
})
}否则{
//仪表板或故事。
var workSheetArray=sheet.getWorksheets();
//评论这里
对于(变量i=0;i”;
AccessControlFilter=filters[i].GetAppliedValue();
html+=“字段名:”+过滤器[i].getFieldName();
//评论这里
对于(var j=0;j 值:”+AccessControlFilter[j]。值;
如果(i==0){
values+=AccessControlFilter[j]。值+“,”;
}
};
html+=“ ”;
}
//评论这里
var infoDiv=
document.getElementById('filterDetails');
infoDiv.innerHTML=html;
//评论这里
var myVal=values.split(',');
document.getElementById('myList')。value=myVal;
})
}
}
}