From 09b5121e08ed300232e846bbbfe555aa188e80ca Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Tue, 11 Nov 2025 16:02:47 +0800 Subject: [PATCH 1/2] =?UTF-8?q?refactor:=20=E7=B2=BE=E7=AE=80=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/DateTimePicker/DatePickerBody.razor.scss | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/BootstrapBlazor/Components/DateTimePicker/DatePickerBody.razor.scss b/src/BootstrapBlazor/Components/DateTimePicker/DatePickerBody.razor.scss index 2b4b5921ea5..2b9d677cf59 100644 --- a/src/BootstrapBlazor/Components/DateTimePicker/DatePickerBody.razor.scss +++ b/src/BootstrapBlazor/Components/DateTimePicker/DatePickerBody.razor.scss @@ -1,4 +1,4 @@ -@use "../../wwwroot/scss/variables" as *; +@use "../../wwwroot/scss/variables" as *; .picker-panel { --bb-picker-panel-body-width: 320px; @@ -149,8 +149,8 @@ } &.current:not(.disabled), - &.start:not(.next-month):not(.prev-month):not(.disabled), - &.end:not(.next-month):not(.prev-month):not(.disabled) { + &.start:not(.disabled), + &.end:not(.disabled) { .cell { color: var(--bb-picker-panel-today-color); From dfb049a6d63300ef77254fcefe282ede46a69ddc Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Tue, 11 Nov 2025 16:03:06 +0800 Subject: [PATCH 2/2] =?UTF-8?q?refactor:=20=E5=A2=9E=E5=8A=A0=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=B8=8D=E6=98=AF=E5=BD=93=E5=89=8D=E6=9C=88=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E4=B8=8D=E5=8F=82=E4=B8=8E=20Range?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DateTimePicker/DatePickerBody.razor.cs | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/BootstrapBlazor/Components/DateTimePicker/DatePickerBody.razor.cs b/src/BootstrapBlazor/Components/DateTimePicker/DatePickerBody.razor.cs index 9f1238d5018..a5984149495 100644 --- a/src/BootstrapBlazor/Components/DateTimePicker/DatePickerBody.razor.cs +++ b/src/BootstrapBlazor/Components/DateTimePicker/DatePickerBody.razor.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the Apache 2.0 License // See the LICENSE file in the project root for more information. // Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone @@ -57,16 +57,26 @@ private DateTime StartDate /// 获得/设置 日期样式 /// private string? GetDayClass(DateTime day, bool overflow) => CssBuilder.Default() - .AddClass("prev-month", day.Month < CurrentDate.Month) - .AddClass("next-month", day.Month > CurrentDate.Month) + .AddClass("prev-month", IsPrevMonth(day)) + .AddClass("next-month", IsNextMonth(day)) .AddClass("current", day.Date == SelectValue.Date && Ranger == null && day.Month == SelectValue.Month && !overflow) - .AddClass("start", Ranger != null && day == Ranger.SelectedValue.Start.Date) - .AddClass("end", Ranger != null && day == Ranger.SelectedValue.End.Date) - .AddClass("range", Ranger != null && day >= Ranger.SelectedValue.Start.Date && day <= Ranger.SelectedValue.End.Date) + .AddClass("start", Ranger != null && day == Ranger.SelectedValue.Start.Date && IsCurrentMonth(day)) + .AddClass("end", Ranger != null && day == Ranger.SelectedValue.End.Date && IsCurrentMonth(day)) + .AddClass("range", IsRange(day) && IsCurrentMonth(day)) .AddClass("today", day == DateTime.Today) .AddClass("disabled", IsDisabled(day) || overflow) .Build(); + private bool IsPrevMonth(DateTime day) => day.Month < CurrentDate.Month; + + private bool IsNextMonth(DateTime day) => day.Month > CurrentDate.Month; + + private bool IsCurrentMonth(DateTime day) => day.Month == CurrentDate.Month; + + private bool IsRange(DateTime day) => Ranger != null + && day >= Ranger.SelectedValue.Start.Date + && day <= Ranger.SelectedValue.End.Date; + private string? WrapperClassString => CssBuilder.Default("picker-panel-body-main-wrapper") .AddClass("is-open", _showClockPicker) .Build();