private void OnRightAdded(int index, IActiveGrouping <TKey, TRight> value) { if (!_joinerLookup.TryGetValue(value.Key, out var set)) { set = CreateJoinerSet(value.Key); _joinerLookup.Add(value.Key, set); } set.SetRight(index); }
private void OnRightMoved(int oldIndex, int newIndex, IActiveGrouping <TKey, TRight> value) => HandleRightMoved(oldIndex, newIndex);
private void OnRightReplaced(int index, IActiveGrouping <TKey, TRight> oldValue, IActiveGrouping <TKey, TRight> newValue) { OnRightRemoved(index, oldValue); OnRightAdded(index, newValue); }
private void OnRightRemoved(int index, IActiveGrouping <TKey, TRight> value) { _joinerLookup[value.Key].ClearRight(); }
protected override void OnReplaced(int index, IActiveGrouping <TKey, TSource> oldValue, IActiveGrouping <TKey, TSource> newValue) { }
protected override void OnRemoved(int index, IActiveGrouping <TKey, TSource> value) { }
protected override void OnMoved(int oldIndex, int newIndex, IActiveGrouping <TKey, TSource> value) { }