mirror of
https://github.com/bitwarden/mobile
synced 2025-12-31 23:53:25 +00:00
Extended observable collection for bulk addrange
This commit is contained in:
33
src/App/Utilities/ExtendedObservableCollection.cs
Normal file
33
src/App/Utilities/ExtendedObservableCollection.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Collections.Specialized;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Bit.App.Utilities
|
||||
{
|
||||
public class ExtendedObservableCollection<T> : ObservableCollection<T>
|
||||
{
|
||||
public ExtendedObservableCollection() : base() { }
|
||||
public ExtendedObservableCollection(IEnumerable<T> collection) : base(collection) { }
|
||||
public ExtendedObservableCollection(List<T> list) : base(list) { }
|
||||
|
||||
public void AddRange(IEnumerable<T> range)
|
||||
{
|
||||
foreach(var item in range)
|
||||
{
|
||||
Items.Add(item);
|
||||
}
|
||||
|
||||
OnPropertyChanged(new PropertyChangedEventArgs("Count"));
|
||||
OnPropertyChanged(new PropertyChangedEventArgs("Item[]"));
|
||||
OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
|
||||
}
|
||||
|
||||
public void Reset(IEnumerable<T> range)
|
||||
{
|
||||
Items.Clear();
|
||||
AddRange(range);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user