This commit is contained in:
@@ -81,8 +81,41 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
renderReport(reportid) {
|
async renderReport(reportId) {
|
||||||
alert(`RENDER REPORT ${reportid}`);
|
let vm = this;
|
||||||
|
if (vm.$route.params.recordid == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
public class RenderReportParameter
|
||||||
|
{
|
||||||
|
public long ReportId { get; set; }
|
||||||
|
public long[] SelectedRowIds { get; set; }
|
||||||
|
public string DataListKey { get; set; }
|
||||||
|
public string ListView { get; set; }//optional, if null or empty will use default list view built into DataList
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
let reportDataOptions = vm.reportDataOptions;
|
||||||
|
if (!reportDataOptions) {
|
||||||
|
throw "Missing report data unable to render report";
|
||||||
|
}
|
||||||
|
reportDataOptions.ReportId = reportId;
|
||||||
|
|
||||||
|
let url = "report/render";
|
||||||
|
|
||||||
|
let res = await window.$gz.api.upsert(url, reportDataOptions);
|
||||||
|
if (res.error) {
|
||||||
|
throw res.error;
|
||||||
|
} else {
|
||||||
|
let reportUrl = window.$gz.api.reportDownloadUrl(res.data);
|
||||||
|
//console.log("Report url:", reportUrl);
|
||||||
|
if (window.open(reportUrl, "Report") == null) {
|
||||||
|
throw "Problem displaying report in new window. Browser must allow pop-ups to view reports; check your browser setting";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.isVisible = false;
|
||||||
|
this.resolve(null);
|
||||||
},
|
},
|
||||||
async open(reportDataOptions) {
|
async open(reportDataOptions) {
|
||||||
let vm = this;
|
let vm = this;
|
||||||
|
|||||||
@@ -141,22 +141,26 @@ Immediately render last report code needs proper implementation for both widget
|
|||||||
"Design" translation should be "Report editor"
|
"Design" translation should be "Report editor"
|
||||||
|
|
||||||
diagnostic code that returns helpful information on render failure would be nice and cut way back on technical support hassles
|
diagnostic code that returns helpful information on render failure would be nice and cut way back on technical support hassles
|
||||||
|
(could actually render the errors to the page and still return it as a pdf?, though it's an api method that triggers it so can just return normal error style)
|
||||||
|
|
||||||
need to modify reportData data object to accept meta data outside of the main data collection
|
need to modify reportData data object to accept meta data outside of the main data collection
|
||||||
so can add all the bits that would appear on report potentially or be used on page like
|
so can add all the bits that would appear on report potentially or be used on page like
|
||||||
datalist name, filter options, what have you
|
datalist name, filter options, what have you
|
||||||
|
also ayReportData object, should it be named something else? Does it even matter?
|
||||||
|
|
||||||
need to ensure easy api access from report script, perhaps pass creds token into report along with report?
|
need to ensure easy api access from report script, perhaps pass creds token into report along with report?
|
||||||
creds as meta data?
|
creds as meta data?
|
||||||
|
|
||||||
|
Ability to export / download and save entire report template as an independent object / file
|
||||||
|
and import again
|
||||||
ayReportData object, should it be named something else? Does it even matter?
|
.ayr8?
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Make up sample reports for widget that show off the basics including logo etc
|
Make up sample reports for widget that show off the basics including logo etc
|
||||||
make them auto generate with sample data in seeder
|
make them auto generate (import from files?) with sample data in seeder
|
||||||
|
|
||||||
|
Make a working template with api methods being called
|
||||||
|
export as example
|
||||||
|
|
||||||
Start thinking about currency formatting and date/time formatting etc.
|
Start thinking about currency formatting and date/time formatting etc.
|
||||||
Maybe client can pass a function to server, or server can use exact same libs but can be initiated with specific locale from client?
|
Maybe client can pass a function to server, or server can use exact same libs but can be initiated with specific locale from client?
|
||||||
@@ -719,24 +723,6 @@ Handlebars.registerHelper('loud', function (aString) {
|
|||||||
},
|
},
|
||||||
async render() {
|
async render() {
|
||||||
let vm = this;
|
let vm = this;
|
||||||
// //test open new window for test url
|
|
||||||
// // window.open("http://localhost:7575/api/v8/report/poc", "_blank");
|
|
||||||
|
|
||||||
// let pdf = await window.$gz.api.upsert("report/post-poc", {
|
|
||||||
// name: "TheSnatcher"
|
|
||||||
// });
|
|
||||||
|
|
||||||
// console.log("PDF: ", pdf);
|
|
||||||
// let reportUrl = window.$gz.api.reportDownloadUrl(pdf.data);
|
|
||||||
// console.log("Report url:", reportUrl);
|
|
||||||
// if (window.open(reportUrl, "ayreport") == null) {
|
|
||||||
// //window open failed, maybe popup blocker
|
|
||||||
// //show error to user
|
|
||||||
// //alert("ERROR OPENING REPORT WINDOW IN BROWSER");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// return;
|
|
||||||
|
|
||||||
if (vm.$route.params.recordid == 0) {
|
if (vm.$route.params.recordid == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user