diff --git a/caravel/assets/javascripts/modules/caravel.js b/caravel/assets/javascripts/modules/caravel.js
index e2c3c72b99..ee70c8cfe6 100644
--- a/caravel/assets/javascripts/modules/caravel.js
+++ b/caravel/assets/javascripts/modules/caravel.js
@@ -150,15 +150,25 @@ const px = function () {
return msg;
},
error(msg, xhr) {
+ let errorMsg = msg;
token.find('img.loading').hide();
- let err = msg ? '
' + msg + '
' : '';
+ let errHtml = '';
+ try {
+ const o = JSON.parse(msg);
+ if (o.error) {
+ errorMsg = o.error;
+ }
+ } catch (e) {
+ // pass
+ }
+ errHtml = `${errorMsg}
`;
if (xhr) {
const extendedMsg = this.getErrorMsg(xhr);
if (extendedMsg) {
- err += '' + extendedMsg + '
';
+ errHtml += `${extendedMsg}
`;
}
}
- container.html(err);
+ container.html(errHtml);
container.show();
$('span.query').removeClass('disabled');
$('#timer').addClass('btn-danger');
diff --git a/caravel/assets/javascripts/modules/utils.js b/caravel/assets/javascripts/modules/utils.js
index bc0c0c0b40..bcf44db429 100644
--- a/caravel/assets/javascripts/modules/utils.js
+++ b/caravel/assets/javascripts/modules/utils.js
@@ -116,6 +116,7 @@ const controllerInterface = {
getFilters: () => false,
clearFilter: () => {},
removeFilter: () => {},
+ filters: {},
};
module.exports = {