mirror of
https://gitee.com/ant-design-blazor/ant-design-blazor.git
synced 2024-12-14 08:51:27 +08:00
152a574577
* feat(module:overlay): OverlayTrigger not bound to a div * feat(module:overlay): OverlayTrigger not bound to a div * feat(module:overlay): Logic transfer to single Overlay * feat(module:overlay): remove obsolete duplication * feat(module:Tooltip): Add for unbounded oncontextmenu event handler * feat(module:tooltip): unbound js event listeners remove * docs(module:tooltip): unbound explanation * fix(module:button): attach Ref to top level html element @ref * feat(module:dropdown&tooltip&popconfirm&popover): Overlay not bound to a div * docs(module:dropdown&tooltip&popconfirm&popover): unbound explanation * feat(module:OverlayTrigger): common logic relocation * feat(module:overlaytrigger): Overlay not bound to a div * feat(module:DatePicker): Overlay not bound to a div * feat(module:select): Overlay not boud to div * fix(module:select): onclickarrow event relocation * fix(module:select): rename Show to OnArrowClick * feat(module:avatar): Overlay not bound to a div * docs(module:avatar): demo switch to unbound version * feat(module:autocomplete): partial OverlayTrigger not bound to a div * feat(module:slider): tooltip * docs(module:slider): tooltip * fix(module:overlay): add SetVisible method * feat: set Ref where missing, performance components register Ref when missing IsFixed flag for CascadeValue changed hard-code sequence numbers when using RenderTreeBuilder Rate component use Tooltip Unbound version Tabs test fix * fix: revert changes (accidental) * feat(module:upload): tooltip with unbound usage * feat(module:table): column use of unbound tooltip * feat(module:autocomplete):overlay unbound from div * fix(module:upload): missing div restore Co-authored-by: James Yeung <shunjiey@hotmail.com>
110 lines
3.8 KiB
C#
110 lines
3.8 KiB
C#
@namespace AntDesign.Internal
|
|
@typeparam TValue
|
|
@inherits DatePickerPanelBase<TValue>
|
|
|
|
<div class="@(PrefixCls)-header" @ref="Ref">
|
|
@if (ShowSuperPreChange)
|
|
{
|
|
<button tabindex="-1" class="@(PrefixCls)-header-super-prev-btn" @onclick="e => ChangePickerYearValue(-SuperChangeDateInterval)">
|
|
<span class="@(PrefixCls)-super-prev-icon"></span>
|
|
</button>
|
|
}
|
|
|
|
@if (ShowPreChange)
|
|
{
|
|
<button tabindex="-1" class="@(PrefixCls)-header-prev-btn" @onclick="e => ChangePickerMonthValue(-ChangeDateInterval)">
|
|
<span class="@(PrefixCls)-prev-icon"></span>
|
|
</button>
|
|
}
|
|
|
|
<div class="@(PrefixCls)-header-view">
|
|
@if (Locale.Lang.MonthBeforeYear)
|
|
{
|
|
@if (Picker.IsIn(DatePickerType.Date, DatePickerType.Week))
|
|
{
|
|
<button type="button" tabindex="-1" class="@(PrefixCls)-month-btn" @onclick="e => PopUpPicker(DatePickerType.Month)">
|
|
@(PickerValue.ToString(Locale.Lang.MonthFormat, CultureInfo))
|
|
</button>
|
|
}
|
|
@if (Picker.IsIn(DatePickerType.Date, DatePickerType.Month, DatePickerType.Quarter, DatePickerType.Week))
|
|
{
|
|
<button type="button" tabindex="-1" class="@(PrefixCls)-year-btn" @onclick="e => PopUpPicker(DatePickerType.Year)">
|
|
@(PickerValue.ToString(Locale.Lang.YearFormat, CultureInfo))
|
|
</button>
|
|
}
|
|
}
|
|
else
|
|
{
|
|
@if (Picker.IsIn(DatePickerType.Date, DatePickerType.Month, DatePickerType.Quarter, DatePickerType.Week))
|
|
{
|
|
<button type="button" tabindex="-1" class="@(PrefixCls)-year-btn" @onclick="e => PopUpPicker(DatePickerType.Year)">
|
|
@(PickerValue.ToString(Locale.Lang.YearFormat, CultureInfo))
|
|
</button>
|
|
}
|
|
@if (Picker.IsIn(DatePickerType.Date, DatePickerType.Week))
|
|
{
|
|
<button type="button" tabindex="-1" class="@(PrefixCls)-month-btn" @onclick="e => PopUpPicker(DatePickerType.Month)">
|
|
@(PickerValue.ToString(Locale.Lang.MonthFormat, CultureInfo))
|
|
</button>
|
|
}
|
|
|
|
}
|
|
|
|
@if (Picker.IsIn(DatePickerType.Year))
|
|
{
|
|
int startYear = PickerValue.Year / 10 * 10;
|
|
int showCount = 9;
|
|
|
|
if (startYear < DateTime.MinValue.Year)
|
|
{
|
|
startYear = DateTime.MinValue.Year;
|
|
showCount = 10;
|
|
}
|
|
|
|
<button type="button" class="@(PrefixCls)-decade-btn" @onclick="e => PopUpPicker(DatePickerType.Decade)">
|
|
@(startYear)-@(startYear + showCount)
|
|
</button>
|
|
}
|
|
@if (Picker.IsIn(DatePickerType.Decade))
|
|
{
|
|
int startYear = PickerValue.Year / 100 * 100;
|
|
|
|
if (startYear < DateTime.MinValue.Year)
|
|
{
|
|
startYear = DateTime.MinValue.Year + 10;
|
|
}
|
|
|
|
<button type="button" class="@(PrefixCls)-decade-btn">
|
|
@(startYear)-@(startYear + 99)
|
|
</button>
|
|
}
|
|
</div>
|
|
|
|
@if (ShowNextChange)
|
|
{
|
|
<button tabindex="-1" class="@(PrefixCls)-header-next-btn" @onclick="e => ChangePickerMonthValue(ChangeDateInterval)">
|
|
<span class="@(PrefixCls)-next-icon"></span>
|
|
</button>
|
|
}
|
|
@if (ShowSuperNextChange)
|
|
{
|
|
<button tabindex="-1" class="@(PrefixCls)-header-super-next-btn" @onclick="e => ChangePickerYearValue(SuperChangeDateInterval)">
|
|
<span class="@(PrefixCls)-super-next-icon"></span>
|
|
</button>
|
|
}
|
|
</div>
|
|
|
|
@code {
|
|
[Parameter]
|
|
public int SuperChangeDateInterval { get; set; } = 1;
|
|
[Parameter]
|
|
public int ChangeDateInterval { get; set; } = 1;
|
|
[Parameter]
|
|
public bool ShowSuperPreChange { get; set; } = true;
|
|
[Parameter]
|
|
public bool ShowPreChange { get; set; } = true;
|
|
[Parameter]
|
|
public bool ShowNextChange { get; set; } = true;
|
|
[Parameter]
|
|
public bool ShowSuperNextChange { get; set; } = true;
|
|
} |