From 943e390bcefc0925eb97ed5e30ce3f81ce1d1a7a Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Wed, 16 Sep 2020 20:41:47 +0000 Subject: [PATCH] --- ayanova/devdocs/todo.txt | 4 + ayanova/src/api/errorhandler.js | 1 - .../components/report-selector-control.vue | 7 +- ayanova/src/views/widget.vue | 99 +++++++++---------- 4 files changed, 55 insertions(+), 56 deletions(-) diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index a783ff87..fcd8b351 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -9,6 +9,10 @@ todo: Exceptions don't show "Name: Error," ever todo: NON DEV MODE No stack trace in error messages! But do keep stack trace in internal LOG for diagnosis + +todo: when server down get this weird TypeError string at client: +"Could not connect to AyaNova server at http://localhost:7575/api/v8.0/ +Error: TypeError: NetworkError when attempting to fetch resource." todo: a script error when just running a report from the report selector acts weird Test with dev mode off to confirm it won't show it in the UI diff --git a/ayanova/src/api/errorhandler.js b/ayanova/src/api/errorhandler.js index cc57906d..814d4502 100644 --- a/ayanova/src/api/errorhandler.js +++ b/ayanova/src/api/errorhandler.js @@ -34,7 +34,6 @@ function dealWithError(msg, vm) { console.error(errMsg); console.trace(); debugger; - // window.$gz.eventBus.$emit("notify-error", "Dev error see log / console"); return; } diff --git a/ayanova/src/components/report-selector-control.vue b/ayanova/src/components/report-selector-control.vue index a12ba97e..54f0c43d 100644 --- a/ayanova/src/components/report-selector-control.vue +++ b/ayanova/src/components/report-selector-control.vue @@ -89,19 +89,20 @@ export default { let reportDataOptions = vm.reportDataOptions; if (!reportDataOptions) { - throw new Error("Missing report data unable to render report"); + this.reject("Missing report data unable to render report"); } reportDataOptions.ReportId = reportId; //Meta data from client for use by report script reportDataOptions.ClientMeta = window.$gz.api.reportClientMetaData(); let url = "report/render"; let res = await window.$gz.api.upsert(url, reportDataOptions); + if (res.error) { - throw new Error(res.error); + this.reject(res); } else { let reportUrl = window.$gz.api.reportDownloadUrl(res.data); if (window.open(reportUrl, "Report") == null) { - throw new Error( + this.reject( "Problem displaying report in new window. Browser must allow pop-ups to view reports; check your browser setting" ); } diff --git a/ayanova/src/views/widget.vue b/ayanova/src/views/widget.vue index 4ef4bf89..c8589f81 100644 --- a/ayanova/src/views/widget.vue +++ b/ayanova/src/views/widget.vue @@ -611,64 +611,59 @@ async function clickHandler(menuItem) { return; } let m = window.$gz.menu.parseMenuItem(menuItem); - try { - if (m.owner == FORM_KEY && !m.disabled) { - switch (m.key) { - case "save": - m.vm.submit(); - break; - case "delete": - m.vm.remove(); - break; - case "new": + if (m.owner == FORM_KEY && !m.disabled) { + switch (m.key) { + case "save": + m.vm.submit(); + break; + case "delete": + m.vm.remove(); + break; + case "new": + m.vm.$router.push({ + name: "widget-edit", + params: { recordid: 0, new: true } + }); + break; + case "duplicate": + m.vm.duplicate(); + break; + case "report": + if (m.id != null) { + //last report selected is in m.id m.vm.$router.push({ - name: "widget-edit", - params: { recordid: 0, new: true } + name: "ay-report", + params: { recordid: m.id, ayatype: window.$gz.type.Widget } }); - break; - case "duplicate": - m.vm.duplicate(); - break; - case "report": - if (m.id != null) { - //last report selected is in m.id - m.vm.$router.push({ - name: "ay-report", - params: { recordid: m.id, ayatype: window.$gz.type.Widget } - }); - } else { - //general report selector chosen + } else { + //general report selector chosen - let res = await m.vm.$refs.reportSelector.open({ - ObjectType: window.$gz.type.Widget, - selectedRowIds: [m.vm.obj.id] - }); + let res = await m.vm.$refs.reportSelector.open({ + ObjectType: window.$gz.type.Widget, + selectedRowIds: [m.vm.obj.id] + }); - //if null for no selection - //just bail out - if (res == null) { - return; - } - //persist last report selected - window.$gz.form.setLastReport(FORM_KEY, res); - - //Now open the report viewer... - m.vm.$router.push({ - name: "ay-report", - params: { recordid: res.id, ayatype: window.$gz.type.Widget } - }); + //if null for no selection + //just bail out + if (res == null) { + return; } - break; - default: - window.$gz.eventBus.$emit( - "notify-warning", - FORM_KEY + "::context click: [" + m.key + "]" - ); - } + //persist last report selected + window.$gz.form.setLastReport(FORM_KEY, res); + + //Now open the report viewer... + m.vm.$router.push({ + name: "ay-report", + params: { recordid: res.id, ayatype: window.$gz.type.Widget } + }); + } + break; + default: + window.$gz.eventBus.$emit( + "notify-warning", + FORM_KEY + "::context click: [" + m.key + "]" + ); } - } catch (ex) { - console.log("Widget menu handler error handler"); - window.$gz.errorHandler.handleFormError(ex, m.vm); } }