Skip to content
This repository was archived by the owner on Apr 6, 2024. It is now read-only.

Commit 1df6bfa

Browse files
authored
Merge pull request #70 from cake-contrib/feature/gh-68
(GH-68) Add RuleUrl column
2 parents d224144 + 330c4cb commit 1df6bfa

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed

src/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,20 @@ public enum HtmlDxDataGridOption
201201
/// </summary>
202202
RuleSortOrder,
203203

204+
/// <summary>
205+
/// Flag if the <see cref="ReportColumn.RuleUrl"/> column should be visible or not.
206+
/// Either <c>true</c> or <c>false</c>.
207+
/// Default value is <c>false</c>.
208+
/// </summary>
209+
RuleUrlVisible,
210+
211+
/// <summary>
212+
/// Sort order of the <see cref="ReportColumn.RuleUrl"/> column if it is part of <see cref="SortedColumns"/>.
213+
/// See <see cref="ColumnSortOrder"/> for possible values.
214+
/// Default value is <see cref="ColumnSortOrder.Ascending"/>.
215+
/// </summary>
216+
RuleUrlSortOrder,
217+
204218
/// <summary>
205219
/// Flag if the <see cref="ReportColumn.Message"/> column should be visible or not.
206220
/// Either <c>true</c> or <c>false</c>.

src/Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535
ColumnSortOrder lineSortOrder = ViewBagHelper.ValueOrDefault(ViewBag.LineSortOder, ColumnSortOrder.Ascending);
3636
bool ruleVisible = ViewBagHelper.ValueOrDefault(ViewBag.RuleVisible, true);
3737
ColumnSortOrder ruleSortOrder = ViewBagHelper.ValueOrDefault(ViewBag.RuleSortOder, ColumnSortOrder.Ascending);
38+
bool ruleUrlVisible = ViewBagHelper.ValueOrDefault(ViewBag.RuleUrlVisible, true);
39+
ColumnSortOrder ruleUrlSortOrder = ViewBagHelper.ValueOrDefault(ViewBag.RuleUrlSortOder, ColumnSortOrder.Ascending);
3840
bool messageVisible = ViewBagHelper.ValueOrDefault(ViewBag.MessageVisible, true);
3941
ColumnSortOrder messageSortOrder = ViewBagHelper.ValueOrDefault(ViewBag.MessageSortOder, ColumnSortOrder.Ascending);
4042
var groupedColumns = ViewBagHelper.ValueOrDefault(ViewBag.GroupedColumns, new List<ReportColumn> { ReportColumn.ProviderName });
@@ -354,6 +356,32 @@
354356
},
355357
</text>
356358
}
359+
@if (ruleUrlVisible)
360+
{
361+
<text>
362+
{
363+
dataField: "RuleUrl",
364+
@if (groupedColumns.Contains(ReportColumn.RuleUrl))
365+
{
366+
@:groupIndex: @groupedColumns.IndexOf(ReportColumn.RuleUrl),
367+
}
368+
@if (sortedColumns.Contains(ReportColumn.RuleUrl))
369+
{
370+
@:sortIndex: @sortedColumns.IndexOf(ReportColumn.RuleUrl),
371+
@:sortOrder: "@ruleUrlSortOrder.ToShortString()",
372+
}
373+
cellTemplate: function (container, options) {
374+
if (options.data["RuleUrl"]) {
375+
$('<a>', {
376+
text: options.value,
377+
href: options.data["RuleUrl"],
378+
target: "_blank"
379+
}).appendTo(container);
380+
}
381+
}
382+
},
383+
</text>
384+
}
357385
@if (messageVisible)
358386
{
359387
<text>

0 commit comments

Comments
 (0)