Просмотр исходного кода

Added events triggers to MobileDateSelector
Tweaked some CoreRepository things

Frank van den Bos 1 год назад
Родитель
Сommit
58d25a73d8

+ 2 - 0
InABox.Mobile/InABox.Mobile.Shared/Components/MobileDateSelector/MobileDateSelector.xaml.cs

@@ -38,11 +38,13 @@ namespace InABox.Mobile
         private void Clear_OnClicked(object sender, MobileButtonClickEventArgs args)
         {
             Picker.Date = DateTime.MinValue;
+            Changed?.Invoke(this, new DateSelectorChangedArgs(Picker.Date));
         }
 
         private void Now_OnClicked(object sender, MobileButtonClickEventArgs args)
         {
             Picker.Date = DateTime.Today;
+            Changed?.Invoke(this, new DateSelectorChangedArgs(Picker.Date));
         }
 
         private void Select_OnClicked(object sender, MobileMenuButtonClickedEventArgs args)

+ 3 - 1
InABox.Mobile/InABox.Mobile.Shared/Converters/ByteArrayToImageSourceConverter.cs

@@ -7,11 +7,13 @@ namespace InABox.Mobile
 {
     public class ByteArrayToImageSourceConverter : IValueConverter
     {
+        public bool BlankIfEmpty { get; set; }
+
         public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
         {
             if (value is byte[] bytes)
                 return ImageSource.FromStream(() => new MemoryStream(bytes));
-            return ImageSource.FromFile("cross");
+            return BlankIfEmpty ? null : ImageSource.FromFile("cross");
         }
 
         public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)

+ 4 - 2
InABox.Mobile/InABox.Mobile.Shared/DataModels/CoreRepository.cs

@@ -61,7 +61,7 @@ namespace InABox.Mobile
     {
         readonly MultiQuery _query = new();
         
-        protected Func<Filter<TEntity>> Filter { get; set; }
+        public Func<Filter<TEntity>> Filter { get; set; }
 
         protected virtual Filter<TEntity> BaseFilter() => null;
         
@@ -133,7 +133,7 @@ namespace InABox.Mobile
         
         public Dictionary<Guid, byte[]> Images { get; private set; } = new Dictionary<Guid, byte[]>();
 
-        public ImageSource GetImage(Guid id)
+        public ImageSource GetImageSource(Guid id)
         {
             ImageSource result = null;
             if (Images.TryGetValue(id, out byte[] data))
@@ -142,6 +142,8 @@ namespace InABox.Mobile
             
         }
         
+        public byte[] GetImage(Guid id) => Images.GetValueOrDefault(id);
+        
         public bool HasImages() => Images.Any();
 
         #endregion

+ 1 - 1
InABox.Mobile/InABox.Mobile.Shared/DataModels/ICoreRepository.cs

@@ -18,7 +18,7 @@ namespace InABox.Mobile
     {
         //IColumns GetColumns();
         
-        ImageSource GetImage(Guid id);
+        ImageSource GetImageSource(Guid id);
         bool HasImages();
 
         bool Loaded { get; }