LivaPopup
DevExtreme Popup'ın ince bir sarmalayıcısı. İçine istediğiniz JSX'i alır;
görünürlüğü visible prop'u ile kontrol edilir, kullanıcı pencereyi
kapattığında onHiding tetiklenir. DevExtreme IPopupOptions'tan gelen tüm
seçenekler (ör. showCloseButton, hideOnOutsideClick, dragEnabled)
doğrudan kullanılabilir.
import { LivaPopup } from "@dataliva/livalib";
Temel Kullanım
Popup bir tetikleyici butonla açılır: state true olduğunda visible prop'u
pencereyi gösterir, onHiding state'i false yaparak kapatır.
hideOnOutsideClick ile dışarı tıklandığında da kapanır.
Başlık ve Boyut
title başlık çubuğunu doldurur, showCloseButton sağ üstte kapatma butonu
gösterir. width ve height sayı (piksel) ya da yüzde gibi bir string
değer alabilir; dragEnabled ile pencere başlık çubuğundan sürüklenebilir.
Geciken içerik ve onShown
Popup açılmadan önce içeriği ölçülemez; bu yüzden grid, grafik gibi kendi
boyutunu hesaplayan bileşenler ilk açılışta yanlış ölçüyle çizilebilirdi.
LivaPopup bunu kendi içinde çözer: pencere gösterildikten sonra
component.repaint() çağırır. Kendi onShown geri çağrınızı verirseniz bu
repaint'ten önce çalışır, yani ek bir düzeltme yazmanız gerekmez.
<LivaPopup visible={acik} onHiding={() => setAcik(false)} onShown={() => odakla()}>
<LivaDataGrid {...getGridProps()} keyExpr="id" columns={kolonlar} dataSource={ds} />
</LivaPopup>
| Prop | Tip | Varsayılan |
|---|---|---|
visible | boolean | false |
onHiding | () => void | — |
title | ReactNode | — |
width | number | string | — |
height | number | string | — |
variant | 'standard' | 'modal' | 'sidebar' | 'standard' |
size | 'small' | 'medium' | 'large' | 'fullscreen' | 'medium' |
radius | 'sm' | 'md' | 'lg' | 'xl' | 'none' | 'md' |
hideOnOutsideClick | boolean | false |
showCloseButton | boolean | — |
onShown | (e) => void | — (bileşenin kendi repaint'inden önce çalışır) |
className | string | — |
children | ReactNode | — |
Ayrıca DevExtreme IPopupOptions'tan gelen tüm prop'lar (ör. showTitle,
titleRender, dragEnabled, resizeEnabled, shading, position) aynen
aktarılır.