private async void DayValueChangedHandler(int day) { day = Math.Clamp(day, DayRange.Start.Value, DayRange.End.Value); _genericValue = new BulDateGeneric(_genericValue.Year, _genericValue.Month, day); await ValueChanged.InvokeAsync(GetGeneric()); }
protected async void YearValueChangedHandler(int year) { year = Math.Clamp(year, YearRange.Start.Value, YearRange.End.Value); _genericValue = new BulDateGeneric(year, _genericValue.Month, _genericValue.Day); await ValueChanged.InvokeAsync(GetGeneric()); }
private async void MonthValueChangedHandler(int month) { month = Math.Clamp(month, MonthRange.Start.Value, MonthRange.End.Value); _genericValue = new BulDateGeneric(_genericValue.Year, month, _genericValue.Day); await ValueChanged.InvokeAsync(GetGeneric()); }
protected override void BuildRenderTree(RenderTreeBuilder builder) { if (Value is DateOnly) { _genericValue = new BulDateGeneric((DateOnly)(object)Value); } else if (Value is DateTime) { _dateTimeSourceRef = (DateTime)(object)Value; _genericValue = new BulDateGeneric(_dateTimeSourceRef); } else if (Value is DateTimeOffset) { _dateTimeOffsetSourceRef = (DateTimeOffset)(object)Value; _genericValue = new BulDateGeneric(_dateTimeOffsetSourceRef); } else { throw new NotSupportedException("Invalid type. Must be one of DateOnly, DateTime or DateTimeOffset"); } BuildBulma(); builder.OpenElement(0, "div"); builder.AddAttribute(1, "class", WrapperClassBuilder.ClassString); if (ShowMonths) { BuildNumberInput(builder, 2, _genericValue.Month, MonthRange, MonthLabel, "month", EventCallback.Factory.Create <int>(this, MonthValueChangedHandler)); } if (ShowDays) { BuildNumberInput(builder, 3, _genericValue.Day, DayRange, DayLabel, "day", EventCallback.Factory.Create <int>(this, DayValueChangedHandler)); } if (ShowYears) { BuildNumberInput(builder, 4, _genericValue.Year, YearRange, YearLabel, "year", EventCallback.Factory.Create <int>(this, YearValueChangedHandler)); } builder.CloseElement(); }