Skip to content

Commit 41ec423

Browse files
committed
Update endpoint names and readme.
1 parent 5907141 commit 41ec423

File tree

6 files changed

+37
-16
lines changed

6 files changed

+37
-16
lines changed

assets/reportviewer.net.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
function ReportViewer() {
1+
function ReportViewer(apiPath, rdlName) {
22

33
var self = this;
44

55
self.toggleItemRequests = [];
66
self.metadata = [];
7+
self.apiPath = apiPath;
8+
self.rdlName = rdlName;
79

810
function constructReportParameters() {
911
var eles = $('.report-viewer input');
@@ -71,7 +73,7 @@
7173

7274
return $.ajax({
7375
method: 'POST',
74-
url: `/Home/ParameterViewer`,
76+
url: `${self.apiPath.replace(/\/$/, "")}/GenerateParameters?rdl=${self.rdlName}`,
7577
data: JSON.stringify(dto),
7678
contentType: 'application/json; charset=utf-8'
7779
}).done(function (data, textStatus, jqXHR) {
@@ -126,7 +128,7 @@
126128

127129
return $.ajax({
128130
method: 'POST',
129-
url: `/Home/ReportViewer`,
131+
url: `${self.apiPath.replace(/\/$/, "")}/GenerateReport?rdl=${self.rdlName}`,
130132
data: JSON.stringify(dto),
131133
contentType: 'application/json; charset=utf-8'
132134
}).done(function (data, textStatus, jqXHR) {

readme.md

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,24 @@ ReportViewer.NET is currently designed to target .NET 8.
1212

1313
1. Include the provided CSS in `assets/reportviewer.net.css` in your project.
1414
2. Include the provided JS in `assets/reportviewer.net.js` in your project.
15-
3. Read the remainder of this section to learn how to use ReportViewer.NET in your project.
15+
3. Create the HTML placeholder element and load the JS in your HTML file by adding the following:
16+
17+
```
18+
<div class="report-viewer">
19+
20+
</div>
21+
22+
<script type="text/javascript">
23+
var reportViewer = new ReportViewer('/api/Reports', 'My RDL file');
24+
25+
reportViewer.postReportParameters();
26+
</script>
27+
28+
```
29+
30+
The `ReportViewer` function accepts two parameters: `apiPath` and `rdlName`, where `apiPath` references the name of your API path minus the endpoint itself. ReportViewer.NET expects two endpoints to be available on the given path: `GenerateParameters` and `GenerateReport`.
31+
32+
4. Read the remainder of this section to learn how to use ReportViewer.NET in your project.
1633

1734
ReportViewer.NET exposes the Interface `IReportHandler` and Class `ReportHandler` which are intended to be injected to your ASP.NET Controller via Dependency Injection. Please ensure that you register ReportViewer.NET using a Scoped/Transient lifetime - this library should not be registered with a Singleton lifetime.
1835

@@ -60,7 +77,7 @@ public class HomeController : Controller, IReportViewerController
6077
// Default endpoints omitted for brevity.
6178
6279
[HttpPost]
63-
public async Task<IActionResult> ParameterViewer([FromQuery] string rdl, [FromBody] ReportParameters userProvidedParameters)
80+
public async Task<IActionResult> GenerateParameters([FromQuery] string rdl, [FromBody] ReportParameters userProvidedParameters)
6481
{
6582
// The 'LoadReport' method parses the report RDL's XML and initialises the C# object hierarchy.
6683
_reportViewer.LoadReport(rdl, userProvidedParameters);
@@ -72,7 +89,7 @@ public class HomeController : Controller, IReportViewerController
7289
}
7390
7491
[HttpPost]
75-
public async Task<IActionResult> ReportViewer([FromQuery] string rdl, [FromBody] ReportParameters userProvidedParameters)
92+
public async Task<IActionResult> GenerateReport([FromQuery] string rdl, [FromBody] ReportParameters userProvidedParameters)
7693
{
7794
// The 'LoadReport' method parses the report RDL's XML and initialises the C# object hierarchy.
7895
_reportViewer.LoadReport(rdl, userProvidedParameters);

src/ReportViewer.NET.Web/Controllers/HomeController.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,17 @@ public IActionResult Error()
3232
}
3333

3434
[HttpPost]
35-
public async Task<IActionResult> ParameterViewer([FromQuery] string rdl, [FromBody] ReportParameters userProvidedParameters)
36-
{
35+
public async Task<IActionResult> GenerateParameters([FromQuery] string rdl, [FromBody] ReportParameters userProvidedParameters)
36+
{
3737
_reportViewer.LoadReport(rdl, userProvidedParameters);
3838
var paramHtml = await _reportViewer.PublishReportParameters(rdl, userProvidedParameters.Parameters);
3939

4040
return Ok(paramHtml);
4141
}
4242

4343
[HttpPost]
44-
public async Task<IActionResult> ReportViewer([FromQuery] string rdl, [FromBody] ReportParameters userProvidedParameters)
45-
{
44+
public async Task<IActionResult> GenerateReport([FromQuery] string rdl, [FromBody] ReportParameters userProvidedParameters)
45+
{
4646
_reportViewer.LoadReport(rdl, userProvidedParameters);
4747
var reportHtml = await _reportViewer.PublishReportOutput(rdl, userProvidedParameters);
4848

src/ReportViewer.NET.Web/Views/Home/Index.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
@section Scripts {
1616
<script type="text/javascript">
17-
var reportViewer = new ReportViewer();
17+
var reportViewer = new ReportViewer('/Home/','My RDL file');
1818
1919
reportViewer.postReportParameters();
2020
</script>

src/ReportViewer.NET.Web/wwwroot/js/site.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
function ReportViewer() {
1+
function ReportViewer(apiPath, rdlName) {
22

33
var self = this;
44

55
self.toggleItemRequests = [];
66
self.metadata = [];
7+
self.apiPath = apiPath;
8+
self.rdlName = rdlName;
79

810
function constructReportParameters() {
911
var eles = $('.report-viewer input');
@@ -71,7 +73,7 @@
7173

7274
return $.ajax({
7375
method: 'POST',
74-
url: `/Home/ParameterViewer`,
76+
url: `${self.apiPath.replace(/\/$/, "")}/GenerateParameters?rdl=${self.rdlName}`,
7577
data: JSON.stringify(dto),
7678
contentType: 'application/json; charset=utf-8'
7779
}).done(function (data, textStatus, jqXHR) {
@@ -126,7 +128,7 @@
126128

127129
return $.ajax({
128130
method: 'POST',
129-
url: `/Home/ReportViewer`,
131+
url: `${self.apiPath.replace(/\/$/, "")}/GenerateReport?rdl=${self.rdlName}`,
130132
data: JSON.stringify(dto),
131133
contentType: 'application/json; charset=utf-8'
132134
}).done(function (data, textStatus, jqXHR) {

src/ReportViewer.NET/IReportViewerController.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ namespace ReportViewer.NET
66
{
77
public interface IReportViewerController
88
{
9-
Task<IActionResult> ParameterViewer(string rdl, ReportParameters userProvidedParameters);
10-
Task<IActionResult> ReportViewer(string rdl, ReportParameters userProvidedParameters);
9+
Task<IActionResult> GenerateParameters(string rdl, ReportParameters userProvidedParameters);
10+
Task<IActionResult> GenerateReport(string rdl, ReportParameters userProvidedParameters);
1111
}
1212
}

0 commit comments

Comments
 (0)