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 = {