@@ -133,57 +133,6 @@ static bool UnionWithKeys(ConcurrentDictionary<string, bool> left, ConcurrentDic
133
133
}
134
134
}
135
135
136
- private static string ? GetResourcePropertyValue ( ResourceViewModel resourceViewModel )
137
- {
138
- if ( resourceViewModel . Properties . TryGetValue ( KnownProperties . Resource . ParentName , out var value ) )
139
- {
140
- if ( value . Value . TryConvertToString ( out var s ) )
141
- {
142
- return s ;
143
- }
144
- }
145
-
146
- return null ;
147
- }
148
-
149
- private List < ResourceGridViewModel > OrderNestedResources ( List < ResourceGridViewModel > initialGridVMs )
150
- {
151
- // This method loops over the list of grid view models to build the nested list.
152
- // Apps shouldn't have a huge number of resources (thousands) so this shouldn't impact performance,
153
- // but if that changes then this method will need to be improved.
154
-
155
- var gridViewModels = new List < ResourceGridViewModel > ( ) ;
156
- var depth = 0 ;
157
-
158
- foreach ( var gridVM in initialGridVMs . Where ( r => GetResourcePropertyValue ( r . Resource ) is null ) )
159
- {
160
- gridVM . Depth = depth ;
161
- gridVM . IsCollapsed = ! _expandedResourceNames . Contains ( gridVM . Resource . Name ) ;
162
- gridVM . IsHidden = false ;
163
-
164
- gridViewModels . Add ( gridVM ) ;
165
-
166
- AddChildViewModel ( gridVM . Resource , gridVM , depth + 1 , hidden : gridVM . IsCollapsed ) ;
167
- }
168
-
169
- return gridViewModels ;
170
-
171
- void AddChildViewModel ( ResourceViewModel resource , ResourceGridViewModel parent , int depth , bool hidden )
172
- {
173
- foreach ( var childGridVM in initialGridVMs . Where ( r => GetResourcePropertyValue ( r . Resource ) == resource . Name ) )
174
- {
175
- childGridVM . Depth = depth ;
176
- childGridVM . IsCollapsed = ! _expandedResourceNames . Contains ( childGridVM . Resource . Name ) ;
177
- childGridVM . IsHidden = hidden ;
178
-
179
- parent . Children . Add ( childGridVM ) ;
180
- gridViewModels . Add ( childGridVM ) ;
181
-
182
- AddChildViewModel ( childGridVM . Resource , childGridVM , depth + 1 , hidden : childGridVM . IsHidden || childGridVM . IsCollapsed ) ;
183
- }
184
- }
185
- }
186
-
187
136
private readonly GridSort < ResourceGridViewModel > _nameSort = GridSort < ResourceGridViewModel > . ByAscending ( p => p . Resource , ResourceViewModelNameComparer . Instance ) ;
188
137
private readonly GridSort < ResourceGridViewModel > _stateSort = GridSort < ResourceGridViewModel > . ByAscending ( p => p . Resource . State ) . ThenAscending ( p => p . Resource , ResourceViewModelNameComparer . Instance ) ;
189
138
private readonly GridSort < ResourceGridViewModel > _startTimeSort = GridSort < ResourceGridViewModel > . ByDescending ( p => p . Resource . CreationTimeStamp ) . ThenAscending ( p => p . Resource , ResourceViewModelNameComparer . Instance ) ;
@@ -289,7 +238,9 @@ private ValueTask<GridItemsProviderResult<ResourceGridViewModel>> GetData(GridIt
289
238
// Rearrange resources based on parent information.
290
239
// This must happen after resources are ordered so nested resources are in the right order.
291
240
// Collapsed resources are filtered out of results.
292
- var orderedResources = OrderNestedResources ( filteredResources . ToList ( ) ) . Where ( r => ! r . IsHidden ) . ToList ( ) ;
241
+ var orderedResources = ResourceGridViewModel . OrderNestedResources ( filteredResources . ToList ( ) , r => ! _expandedResourceNames . Contains ( r . Name ) )
242
+ . Where ( r => ! r . IsHidden )
243
+ . ToList ( ) ;
293
244
294
245
// Paging visible resources.
295
246
var query = orderedResources . Skip ( request . StartIndex ) ;
0 commit comments