Skip to content

Commit 0c94715

Browse files
authored
Merge pull request #4064 from Nexus-Mods/fix/file-conflicts-isActive-styling
Set Active styling for File Conflicts TreeDataGrid items
2 parents faa89ac + f20f5cf commit 0c94715

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/NexusMods.App.UI/Pages/Sorting/FileConflicts/FileConflictsColumns.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,4 +115,7 @@ public static int Compare<TKey>(CompositeItemModel<TKey> a, CompositeItemModel<T
115115
public static string GetColumnHeader() => "Actions";
116116
public static string GetColumnTemplateResourceKey() => ColumnTemplateResourceKey;
117117
}
118+
119+
public static readonly ComponentKey IsActiveComponentKey = ComponentKey.From(nameof(FileConflictsColumns) + "_" + "IsActiveComponent");
120+
public static readonly string IsActiveStyleTag = "IsActive";
118121
}

src/NexusMods.App.UI/Pages/Sorting/FileConflicts/FileConflictsViewModel.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,20 @@ protected override void BeforeModelActivationHook(CompositeItemModel<EntityId> m
282282
adapter.MessageSubject.OnNext(new MoveDownCommandPayload(itemModel));
283283
})
284284
);
285+
286+
// IsActive styling
287+
model.SubscribeToComponentAndTrack<ValueComponent<bool>, FileConflictsTreeDataGridAdapter>(
288+
key: FileConflictsColumns.IsActiveComponentKey,
289+
state: this,
290+
factory: static (adapter, itemModel, component) => component.Value
291+
.Subscribe((adapter, itemModel, component),
292+
static (_, tuple) =>
293+
{
294+
var (_, itemModel, component) = tuple;
295+
itemModel.SetStyleFlag(FileConflictsColumns.IsActiveStyleTag, component.Value.Value);
296+
}
297+
)
298+
);
285299
}
286300

287301
protected override IObservable<IChangeSet<CompositeItemModel<EntityId>, EntityId>> GetRootsObservable(bool viewHierarchical)
@@ -346,6 +360,9 @@ private CompositeItemModel<EntityId> CreateItemModel((EntityId, long, EntityId,
346360
canExecuteMoveUp: canExecuteMoveUp,
347361
canExecuteMoveDown: canExecuteMoveDown
348362
));
363+
364+
// NOTE(Al12rs): Mark all items as active for styling purposes, change this if we need to display inactive items
365+
itemModel.Add(FileConflictsColumns.IsActiveComponentKey, new ValueComponent<bool>(true));
349366

350367
return itemModel;
351368
}

0 commit comments

Comments
 (0)