|
16 | 16 | <div class="p-3 mt-2"> |
17 | 17 | <h5 class="text-center">@(userConfig.GetText("objects"))</h5> |
18 | 18 | <TabSet @ref="tabset" DarkMode="true" KeepPanelsAlive="true" RsbStyle="true"> |
19 | | - <AnchorNavToRSB @ref="anchorNavToRSB" TabSet="tabset" CollapseState="collapseInRSB" /> |
| 19 | + <AnchorNavToRSB @ref="anchorNavToRSB" TabSet="tabset" CollapseState="collapseInRSB" /> |
20 | 20 | <CascadingValue Value="collapseInRSB"> |
21 | 21 | <CascadingValue Value="anchorNavToRSB"> |
22 | | - @if(SelectedReportType.IsDeviceRelatedReport() && AllTabVisible) |
| 22 | + @if (SelectedReportType.IsDeviceRelatedReport() && AllTabVisible) |
23 | 23 | { |
24 | 24 | <Tab Title="@(userConfig.GetText("all"))" Position=0> |
25 | 25 | <div class="d-md-flex justify-content-md-end sticky-marker-45"> |
26 | 26 | <div class="btn btn-secondary btn-sm w-50" @onclick="@(() => collapseInRSB.Collapse("all"))">@(userConfig.GetText("collapse_all"))</div> |
27 | 27 | </div> |
28 | 28 | <div class="mt-2"> |
29 | | - <ObjectGroupCollection FetchObjects="FetchContent" Recert="Recert" Tab="RsbTab.all" InputDataType="ManagementReport" Data="managementsAllObjects" |
30 | | - NameExtractor="man => man.Name" NetworkObjectExtractor="man => man.Objects" |
31 | | - NetworkServiceExtractor="man => man.Services" NetworkUserExtractor="man => man.Users" /> |
| 29 | + <ObjectGroupCollection PageSize="PageSize" FetchObjects="FetchContent" Recert="Recert" Tab="RsbTab.all" InputDataType="ManagementReport" Data="managementsAllObjects" |
| 30 | + NameExtractor="man => man.Name" NetworkObjectExtractor="man => man.Objects" |
| 31 | + NetworkServiceExtractor="man => man.Services" NetworkUserExtractor="man => man.Users" /> |
32 | 32 | </div> |
33 | 33 | </Tab> |
34 | 34 | } |
35 | | - @if(CurrentReport?.ReportData.ManagementData.Count > 0 && (CurrentReport?.ReportType.IsRuleReport() ?? false)) |
| 35 | + @if (CurrentReport?.ReportData.ManagementData.Count > 0 && (CurrentReport?.ReportType.IsRuleReport() ?? false)) |
36 | 36 | { |
37 | 37 | <Tab Title="@(userConfig.GetText("report"))"> |
38 | 38 | <div class="d-md-flex justify-content-md-end sticky-marker-45"> |
39 | 39 | <div class="btn btn-secondary btn-sm w-50" @onclick="@(() => collapseInRSB.Collapse("report"))">@(userConfig.GetText("collapse_all"))</div> |
40 | 40 | </div> |
41 | 41 | <div class="mt-2"> |
42 | | - <ObjectGroupCollection FetchObjects="FetchContent" Recert="Recert" Tab="RsbTab.report" InputDataType="ManagementReport" |
43 | | - Data="CurrentReport.ReportData.ManagementData.Where(m => (m.Devices.Where(d => d.Rules != null && d.Rules.Count() > 0).Count() > 0))" |
44 | | - NameExtractor="man => man.Name" |
45 | | - NetworkObjectExtractor="man => man.ReportObjects" |
46 | | - NetworkServiceExtractor="man => man.ReportServices" |
47 | | - NetworkUserExtractor="man => man.ReportUsers" |
48 | | - Reload="CurrentReport.ReportType.IsModellingReport()"/> |
| 42 | + <ObjectGroupCollection PageSize="PageSize" FetchObjects="FetchContent" Recert="Recert" Tab="RsbTab.report" InputDataType="ManagementReport" |
| 43 | + Data="CurrentReport.ReportData.ManagementData.Where(m => (m.Devices.Where(d => d.Rules != null && d.Rules.Count() > 0).Count() > 0))" |
| 44 | + NameExtractor="man => man.Name" |
| 45 | + NetworkObjectExtractor="man => man.ReportObjects" |
| 46 | + NetworkServiceExtractor="man => man.ReportServices" |
| 47 | + NetworkUserExtractor="man => man.ReportUsers" |
| 48 | + Reload="CurrentReport.ReportType.IsModellingReport()" /> |
49 | 49 | </div> |
50 | 50 | </Tab> |
51 | 51 | <Tab Title="@(userConfig.GetText("rule"))"> |
|
54 | 54 | <div class="btn btn-secondary btn-sm w-50" @onclick="@(() => collapseInRSB.Collapse("rule"))">@(userConfig.GetText("collapse_all"))</div> |
55 | 55 | </div> |
56 | 56 | <div class="mt-2"> |
57 | | - <ObjectGroupCollection FetchObjects="FetchContent" Recert="Recert" Tab="RsbTab.rule" StartContentDetailed="true" StartCollapsed="false" InputDataType="Rule" Data="SelectedRules" |
58 | | - NameExtractor=@(rule => $"{rule.DeviceName} - Rule {rule.Id} {rule.Name}") |
59 | | - NetworkObjectExtractor="rule => rule.Froms.Select(nl => nl.Object) |
| 57 | + <ObjectGroupCollection PageSize="PageSize" FetchObjects="FetchContent" Recert="Recert" Tab="RsbTab.rule" StartContentDetailed="true" StartCollapsed="false" InputDataType="Rule" Data="SelectedRules" |
| 58 | + NameExtractor=@(rule => $"{rule.DeviceName} - Rule {rule.Id} {rule.Name}") |
| 59 | + NetworkObjectExtractor="rule => rule.Froms.Select(nl => nl.Object) |
60 | 60 | .Union(rule.Tos.Select(nl => nl.Object)) |
61 | 61 | .Union(rule.NatData.TranslatedFroms.Select(nl => nl.Object)) |
62 | 62 | .Union(rule.NatData.TranslatedTos.Select(nl => nl.Object)).OrderBy(o => o.Name).ToArray()" |
63 | | - NetworkServiceExtractor="rule => rule.Services.Select(sw => sw.Content) |
| 63 | + NetworkServiceExtractor="rule => rule.Services.Select(sw => sw.Content) |
64 | 64 | .Union(rule.NatData.TranslatedServices.Select(sw => sw.Content)).OrderBy(s => s.Name).ToArray()" |
65 | | - NetworkUserExtractor="rule => rule.Froms.Select(nl => nl.User).Distinct().Where(u => u != null).OrderBy(u => u.Name).ToArray()" /> |
| 65 | + NetworkUserExtractor="rule => rule.Froms.Select(nl => nl.User).Distinct().Where(u => u != null).OrderBy(u => u.Name).ToArray()" /> |
66 | 66 | </div> |
67 | 67 | </Tab> |
68 | 68 | } |
69 | | - @if(CurrentReport?.ReportData.OwnerData.Count > 0 && CurrentReport?.ReportType == ReportType.Connections) |
| 69 | + @if (CurrentReport?.ReportData.OwnerData.Count > 0 && CurrentReport?.ReportType == ReportType.Connections) |
70 | 70 | { |
71 | 71 | <Tab Title="@(userConfig.GetText("used_objects"))"> |
72 | 72 | <div class="d-md-flex justify-content-md-end sticky-marker-45"> |
73 | 73 | <div class="btn btn-secondary btn-sm w-50" @onclick="@(() => collapseInRSB.Collapse("report"))">@(userConfig.GetText("collapse_all"))</div> |
74 | 74 | </div> |
75 | 75 | <div class="mt-2"> |
76 | | - <ObjectGroupCollection FetchObjects="FetchContent" Recert="Recert" Tab="RsbTab.usedObj" StartCollapsed="false" InputDataType="OwnerReport" |
77 | | - Data="CurrentReport.ReportData.OwnerData" |
78 | | - NameExtractor="own => own.Name" |
79 | | - NetworkObjectExtractor="own => own.GetAllNetworkObjects(true)" |
80 | | - NetworkServiceExtractor="own => own.GetAllServices(true)" |
81 | | - Reload="true"/> |
82 | | - <ObjectGroupCollection FetchObjects="FetchContent" Recert="Recert" Tab="RsbTab.usedObj" StartCollapsed="false" InputDataType="GlobalCommonSvcReport" |
83 | | - Data="CurrentReport.ReportData.GlobalComSvc" |
84 | | - NameExtractor="glbComSvc => glbComSvc.Name" |
85 | | - NetworkObjectExtractor="glbComSvc => glbComSvc.GetAllNetworkObjects(true)" |
86 | | - NetworkServiceExtractor="glbComSvc => glbComSvc.GetAllServices(true)" |
87 | | - Reload="true"/> |
| 76 | + <ObjectGroupCollection PageSize="PageSize" FetchObjects="FetchContent" Recert="Recert" Tab="RsbTab.usedObj" StartCollapsed="false" InputDataType="OwnerReport" |
| 77 | + Data="CurrentReport.ReportData.OwnerData" |
| 78 | + NameExtractor="own => own.Name" |
| 79 | + NetworkObjectExtractor="own => own.GetAllNetworkObjects(true)" |
| 80 | + NetworkServiceExtractor="own => own.GetAllServices(true)" |
| 81 | + Reload="true" /> |
| 82 | + <ObjectGroupCollection PageSize="PageSize" FetchObjects="FetchContent" Recert="Recert" Tab="RsbTab.usedObj" StartCollapsed="false" InputDataType="GlobalCommonSvcReport" |
| 83 | + Data="CurrentReport.ReportData.GlobalComSvc" |
| 84 | + NameExtractor="glbComSvc => glbComSvc.Name" |
| 85 | + NetworkObjectExtractor="glbComSvc => glbComSvc.GetAllNetworkObjects(true)" |
| 86 | + NetworkServiceExtractor="glbComSvc => glbComSvc.GetAllServices(true)" |
| 87 | + Reload="true" /> |
88 | 88 | </div> |
89 | 89 | </Tab> |
90 | 90 | } |
|
119 | 119 | public bool AllTabVisible { get; set; } = true; |
120 | 120 |
|
121 | 121 | [Parameter] |
122 | | - public ReportType SelectedReportType { get; set; } = ReportType.Rules; |
| 122 | + public ReportType SelectedReportType { get; set; } = ReportType.Rules; |
123 | 123 |
|
124 | 124 | [Parameter] |
125 | 125 | public bool Recert { get; set; } = false; |
126 | | - |
127 | | - private FWO.Ui.Shared.TabSet tabset = new (); |
128 | | - private FWO.Ui.Shared.AnchorNavToRSB anchorNavToRSB = new (); |
129 | | - private CollapseState collapseInRSB = new (); |
130 | | - private List<ManagementReport> managementsAllObjects = new (); |
131 | 126 |
|
132 | | - private int intWidth { get { return Width; } set { Width = value; WidthChanged.InvokeAsync(Width);}} |
| 127 | + private FWO.Ui.Shared.TabSet tabset = new(); |
| 128 | + private FWO.Ui.Shared.AnchorNavToRSB anchorNavToRSB = new(); |
| 129 | + private CollapseState collapseInRSB = new(); |
| 130 | + private List<ManagementReport> managementsAllObjects = new(); |
133 | 131 |
|
| 132 | + private int intWidth { get { return Width; } set { Width = value; WidthChanged.InvokeAsync(Width); } } |
| 133 | + |
| 134 | + private readonly int PageSize = 0; |
134 | 135 |
|
135 | 136 | protected override void OnInitialized() |
136 | 137 | { |
137 | 138 | Task.Run(async () => |
138 | 139 | { |
139 | 140 | try |
140 | 141 | { |
141 | | - if(AllTabVisible) |
| 142 | + if (AllTabVisible) |
142 | 143 | { |
143 | 144 | PaginationVariables paginationVariables = new PaginationVariables() { Limit = 0, Offset = 0 }; |
144 | 145 | managementsAllObjects = await apiConnection.SendQueryAsync<List<ManagementReport>>(ObjectQueries.getAllObjectDetails, paginationVariables); |
|
159 | 160 | try |
160 | 161 | { |
161 | 162 | string query = ""; |
162 | | - Dictionary<String, object> queryVars = new () |
| 163 | + Dictionary<String, object> queryVars = new() |
163 | 164 | { |
164 | 165 | { "limit", userConfig.ElementsPerFetch }, |
165 | 166 | { "offset", 0 } |
|
169 | 170 | switch (rsbTab) |
170 | 171 | { |
171 | 172 | case RsbTab.all: |
172 | | - queryVars.Add("management_id", (int) id); |
| 173 | + queryVars.Add("management_id", (int)id); |
173 | 174 | switch (objType) |
174 | 175 | { |
175 | 176 | case ObjCategory.all: |
|
188 | 189 | await FetchObjects(query, queryVars, callback); |
189 | 190 | break; |
190 | 191 | case RsbTab.report: |
191 | | - queryVars.Add("mgmIds", (int) id); |
| 192 | + queryVars.Add("mgmIds", (int)id); |
192 | 193 | if (CurrentReport != null) |
193 | 194 | { |
194 | | - gotAllObjects = await CurrentReport.GetObjectsForManagementInReport(queryVars, objType, |
| 195 | + gotAllObjects = await CurrentReport.GetObjectsForManagementInReport(queryVars, objType, |
195 | 196 | userConfig.AutoFillRightSidebar ? int.MaxValue : userConfig.MaxInitialFetchesRightSidebar, apiConnection, callback); |
196 | 197 | } |
197 | 198 | if (!gotAllObjects) |
|
200 | 201 | } |
201 | 202 | break; |
202 | 203 | case RsbTab.rule: |
203 | | - if(objType == ObjCategory.all) |
| 204 | + if (objType == ObjCategory.all) |
204 | 205 | { |
205 | 206 | queryVars.Add("rule_id", id); |
206 | 207 | query = nat ? RuleQueries.getNatRuleDetails : RuleQueries.getRuleDetails; |
|
0 commit comments