Using my local install of WAB I've configured the Query widget to select by Use spatial filter to limit the features, Only features touching a user defined area, and Add the result as operational layer.


I also want the user to be able to export the operational layer as a CSV. I haven't been able to get the operational layer to display nor do I have the option to export anything as CSV?
I do have the Attribute Table configured to Allow exporting to CSV.

Anyone else have this issue?
Solved! Go to Solution.
I may not have put this in the right location but I didn't notice a change. It still tries to open an html file first in IE 11 and adding csv doesn't fix the issue. I did test in Chrome and it immediately creates a csv file for export and the resulting file is created without issue. I placed this in
...\arcgis-web-appbuilder-1.1\client\stemapp\widgets\AttributeTable\Widget.js
UPDATE: When I put this in ...\<appname>\widgets\AttributeTable\Widget.js it does appear to work in IE 11
Josh,
I forgot that we are not in the same version, so the `widget.js` need other codes.
_isIE11: function() {
var iev = 0;
var ieold = (/MSIE (\d+\.\d+);/.test(navigator.userAgent));
var trident = !!navigator.userAgent.match(/Trident\/7.0/);
var rv = navigator.userAgent.indexOf("rv:11.0");
if (ieold) {
iev = Number(RegExp.$1);
}
if (navigator.appVersion.indexOf("MSIE 10") !== -1) {
iev = 10;
}
if (trident && rv !== -1) {
iev = 11;
}
return iev === 11;
},
_isEdge: function() {
return /Edge\/12/.test(navigator.userAgent);
},
_getDownloadUrl: function(text) {
var BOM = "\uFEFF";
// Add BOM to text for open in excel correctly
if (window.Blob && window.URL && window.URL.createObjectURL) {
var csvData = new Blob([BOM + text], { type: 'text/csv' });
return URL.createObjectURL(csvData);
} else {
return 'data:attachment/csv;charset=utf-8,' + BOM + encodeURIComponent(text);
}
},
download: function(filename, text) {
if (has('ie') && has('ie') < 10) {
// has module unable identify ie11 and Edge
var oWin = window.top.open("about:blank", "_blank");
oWin.document.write(text);
oWin.document.close();
oWin.document.execCommand('SaveAs', true, filename);
oWin.close();
}else if (has("ie") === 10 || this._isIE11() || this._isEdge()) {
var BOM = "\uFEFF";
var csvData = new Blob([BOM + text], { type: 'text/csv' });
navigator.msSaveBlob(csvData, filename);
} else {
var link = html.create("a", {
href: this._getDownloadUrl(text),
target: '_blank',
download: filename
}, this.domNode);
if (has('safari')) {
// # First create an event
var click_ev = document.createEvent("MouseEvents");
// # initialize the event
click_ev.initEvent("click", true /* bubble */ , true /* cancelable */ );
// # trigger the evevnt/
link.dispatchEvent(click_ev);
} else {
link.click();
}
html.destroy(link);
}
},In the `exportToCSV` function you need to use `params.title` instead of `params.name`.
For you mentioned that you didn't notice a change, I think you need to restart the node server and try again.
Thanks, I think I may have to bite the bullet and jump to 1.2, it sounds as if many of the widgets are getting updated so I may as well do it.