ant-design-blazor/components/carousel/Carousel.razor
Andrzej Bakun 152a574577 feat(module: overlay): OverlayTrigger not bound to a div (#937)
* 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>
2021-01-21 17:20:10 +08:00

47 lines
2.0 KiB
C#

@namespace AntDesign
@inherits AntDomComponentBase
<div class="@ClassMapper.Class">
<div class="@SlickSliderClassMapper.Class">
<div class="slick-list" @ref="Ref" style="@SlickListStyle">
<div class="slick-track" style="@TrackStyle">
@if (_slicks.Count > 0 && Effect == CarouselEffect.ScrollX)
{
<div data-index="-1" class="slick-slide slick-cloned" tabindex="-1" aria-hidden="true" style="@SlickClonedStyle">
<div>
<div tabindex="-1" style="width: 100%; display: inline-block;">
@_slicks.Last().ChildContent
</div>
</div>
</div>
}
<CascadingValue Value="this" IsFixed="@true">
@ChildContent
</CascadingValue>
@if (Effect == CarouselEffect.ScrollX)
{
for (int i = 0; i < _slicks.Count; i++)
{
int index = i;
<div data-index="@(i+_slicks.Count)" class="slick-slide slick-cloned" tabindex="-1" aria-hidden="true" style="@SlickClonedStyle">
<div>
<div tabindex="-1" style="width: 100%; display: inline-block;">
@_slicks[index].ChildContent
</div>
</div>
</div>
}
}
</div>
</div>
<ul class="@($"slick-dots slick-dots-{DotPosition.ToString().ToLower()}")" style="display: block;">
@for (int i = 0; i < _slicks.Count; i++)
{
int index = i;
<li class="@(_slicks[index].Active?"slick-active":string.Empty)">
<button @onclick="(e)=>Activate(_slicks[index])">@(index + 1)</button>
</li>
}
</ul>
</div>
</div>