1
- namespace BlazorBootstrap ;
1
+ using System ;
2
+
3
+ namespace BlazorBootstrap ;
2
4
3
5
public interface IChartOptions { }
4
6
@@ -284,6 +286,12 @@ public class ChartAxes
284
286
[ JsonIgnore ( Condition = JsonIgnoreCondition . WhenWritingNull ) ]
285
287
public string ? Type { get ; set ; }
286
288
289
+ /// <summary>
290
+ /// Gets or sets the time axis configuration
291
+ /// </summary>
292
+ [ JsonIgnore ( Condition = JsonIgnoreCondition . WhenWritingNull ) ]
293
+ public ChartTimeAxisOptions ? Time { get ; set ; }
294
+
287
295
#endregion
288
296
}
289
297
@@ -659,3 +667,80 @@ public class ChartFont
659
667
660
668
#endregion
661
669
}
670
+
671
+ public enum ChartTimeUnit
672
+ {
673
+ Millisecond ,
674
+ Second ,
675
+ Minute ,
676
+ Hour ,
677
+ Day ,
678
+ Week ,
679
+ Month ,
680
+ Quarter ,
681
+ Year
682
+ }
683
+
684
+ /// <summary>
685
+ /// <see href="https://www.chartjs.org/docs/latest/axes/cartesian/time.html" />
686
+ /// </summary>
687
+ public class ChartTimeAxisOptions
688
+ {
689
+ #region Properties, Indexers
690
+
691
+ /// <summary>
692
+ /// Sets how different time units are displayed.
693
+ /// <summary>
694
+ [ JsonIgnore ( Condition = JsonIgnoreCondition . WhenWritingNull ) ]
695
+ public object ? DisplayFormats { get ; set ; }
696
+
697
+ /// <summary>
698
+ /// If boolean and true and the unit is set to 'week', then the first day of the week will be Monday. Otherwise, it will be Sunday. If number, the index of the first day of the week (0 - Sunday, 6 - Saturday)
699
+ /// <summary>
700
+ [ JsonIgnore ]
701
+ public DayOfWeek ? IsoWeekday { get ; set ; }
702
+
703
+ [ JsonInclude ]
704
+ [ JsonIgnore ( Condition = JsonIgnoreCondition . WhenWritingNull ) ]
705
+ private int ? isoWeekDay => ( int ? ) IsoWeekday ;
706
+
707
+ /// <summary>
708
+ /// If defined, dates will be rounded to the start of this unit. See Units below for the allowed units.
709
+ /// <summary>
710
+ [ JsonIgnore ]
711
+ public ChartTimeUnit ? Round { get ; set ; }
712
+
713
+
714
+ [ JsonInclude ]
715
+ [ JsonIgnore ( Condition = JsonIgnoreCondition . WhenWritingNull ) ]
716
+ private string round => Round ? . ToString ( ) . ToLower ( ) ;
717
+
718
+ /// <summary>
719
+ /// The format string to use for the tooltip.
720
+ /// <summary>
721
+ [ JsonIgnore ( Condition = JsonIgnoreCondition . WhenWritingNull ) ]
722
+ public string ? TooltipFormat { get ; set ; }
723
+
724
+ /// <summary>
725
+ /// If defined, will force the unit to be a certain type. See Units section below for details.
726
+ /// <summary>
727
+ [ JsonIgnore ]
728
+ public ChartTimeUnit ? Unit { get ; set ; }
729
+
730
+ [ JsonInclude ]
731
+ [ JsonIgnore ( Condition = JsonIgnoreCondition . WhenWritingNull ) ]
732
+ private string unit => Unit ? . ToString ( ) . ToLower ( ) ;
733
+
734
+ /// <summary>
735
+ /// The minimum display format to be used for a time unit.
736
+ /// <summary>
737
+ [ JsonIgnore ]
738
+ public ChartTimeUnit ? MinUnit { get ; set ; }
739
+
740
+
741
+ [ JsonInclude ]
742
+ [ JsonIgnore ( Condition = JsonIgnoreCondition . WhenWritingNull ) ]
743
+ private string minUnit => MinUnit ? . ToString ( ) . ToLower ( ) ;
744
+
745
+ #endregion
746
+ }
0 commit comments