Export Popover
Export Popover, Ops Table bileşeninde kullanıcıların tablo verilerini CSV veya PDF formatında dışa aktarmasına olanak tanır. Kullanıcılar, bu popover aracılığıyla tablo verilerini hızlı bir şekilde indirebilir.
Ne İşe Yarar?
Export Popover:
- Tablo verilerini CSV formatında dışa aktarır.
- Tablo verilerini PDF formatında dışa aktarır.
- Kullanıcıların mevcut tablo verilerini farklı formatlarda kaydetmesine olanak sağlar.
İş Mantığı
- CSV Dışa Aktarma:
- Kullanıcı "Export as CSV" seçeneğine tıkladığında
handleExportCSVfonksiyonu çağrılır. - Tablo verileri işlenir ve
XLSXkütüphanesi kullanılarak bir CSV dosyası oluşturulur.
- Kullanıcı "Export as CSV" seçeneğine tıkladığında
- PDF Dışa Aktarma:
- Kullanıcı "Export as PDF" seçeneğine tıkladığında
handleExportPDFfonksiyonu çağrılır. - Veriler,
jsPDFveautoTablekullanılarak bir PDF dosyasına dönüştürülür.
- Kullanıcı "Export as PDF" seçeneğine tıkladığında
- Dinamik Veri İşleme:
- Görünen sütunlar ve satırlar
table.getRowModel().rowsvetable.getHeaderGroups()üzerinden alınır. - Sütun meta bilgileri kullanılarak hücre verileri uygun şekilde biçimlendirilir.
- Görünen sütunlar ve satırlar
Alt Bileşenler ve Fonksiyonlar
1. handleExportCSV
- Tablo verilerini CSV dosyasına dönüştürür.
XLSX.utils.aoa_to_sheetveXLSX.writeFilefonksiyonlarıyla CSV dosyası oluşturulur ve indirilir.
2. handleExportPDF
- Tablo verilerini PDF dosyasına dönüştürür.
jsPDFile PDF dokümanı oluşturulur,autoTableile tablo içeriği eklenir.
3. Veri Formatlama
- Sütun meta bilgileri (
metaItem) kullanılarak veri uygun şekilde biçimlendirilir:- Tarih alanları
moment.jsile formatlanır. - Karmaşık veri yapıları için
genericFormatStringveformatObjectyardımcı fonksiyonları kullanılır.
- Tarih alanları
Aldığı Propslar
Export Popover herhangi bir props almaz, table içindeki veri modelini kullanarak çalışır.
Yönetilen Olaylar
-
CSV Dışa Aktarma:
- Kullanıcı "Export as CSV" seçeneğine tıkladığında
handleExportCSVfonksiyonu çalışır. - İşlem sırasında:
- Tüm satır ve sütunlar
table.getRowModel().rowsvetable.getHeaderGroups()üzerinden alınır. - Her hücredeki veri sütun meta bilgilerine göre formatlanır:
- Tarih alanları
moment.jskullanılarak formatlanır. - Nesne tipindeki veriler
formatObjectfonksiyonu ile çözülür.
- Tarih alanları
XLSX.utils.aoa_to_sheetkullanılarak veriler bir çalışma sayfasına dönüştürülür.XLSX.writeFileile CSV dosyası oluşturulur ve kullanıcının cihazına indirilir.
- Tüm satır ve sütunlar
- Kullanıcı "Export as CSV" seçeneğine tıkladığında
-
PDF Dışa Aktarma:
- Kullanıcı "Export as PDF" seçeneğine tıkladığında
handleExportPDFfonksiyonu çalışır. - İşlem sırasında:
jsPDFkütüphanesi ile bir PDF dokümanı oluşturulur.- Tablo başlıkları ve gövdesi
table.getHeaderGroups()vetable.getRowModel().rowsüzerinden alınır. autoTablefonksiyonu ile tablo içeriği PDF'ye eklenir:- Hücre verileri
genericFormatStringveformatObjectfonksiyonlarıyla işlenir. - Tarihler
moment.jsile kullanıcı dostu bir formata dönüştürülür.
- Hücre verileri
- Oluşturulan PDF dosyası, kullanıcının cihazına kaydedilir.
- Kullanıcı "Export as PDF" seçeneğine tıkladığında
-
Veri Biçimlendirme:
- Her iki dışa aktarım işleminde de veriler formatlanır:
- Karmaşık nesne verileri, kullanıcının belirlediği format (
displayFormat) ile biçimlendirilir. - Eksik veriler için varsayılan değerler (
defaultValue) kullanılır. - Tablodaki sadece görünür sütunlar işlemeye dahil edilir.
- Karmaşık nesne verileri, kullanıcının belirlediği format (
- Her iki dışa aktarım işleminde de veriler formatlanır:
-
CSV Dışa Aktarma:
- Kullanıcı "Export as CSV" seçeneğine tıkladığında
handleExportCSVçalışır.
- Kullanıcı "Export as CSV" seçeneğine tıkladığında
-
PDF Dışa Aktarma:
- Kullanıcı "Export as PDF" seçeneğine tıkladığında
handleExportPDFçalışır.
- Kullanıcı "Export as PDF" seçeneğine tıkladığında
-
Veri Biçimlendirme:
- Sütun meta bilgileri ve veriler, dışa aktarım formatına uygun hale getirilir.
İlgili Bileşenler
- OpsTablePopovers: ExportPopover bileşenini tetikleyen ana popover.
- OpsTable: Verilerin yönetildiği ve gösterildiği ana tablo bileşeni.
Burada Yapılan Ana İşlemler
Export Popover bileşeninde aşağıdaki işlemler anahtar rol oynar ve bu olaylara müdahale etmek için ilgili bölümlere odaklanabilirsiniz:
- CSV Dışa Aktarma:
handleExportCSVile veriler CSV formatına dönüştürülür ve indirilir. - PDF Dışa Aktarma:
handleExportPDFile veriler PDF formatına dönüştürülür ve indirilir. - Veri Biçimlendirme: Sütun meta bilgileri kullanılarak veriler dinamik şekilde biçimlendirilir.
Örnek Kullanım
import React from "react";
import ExportPopover from "./ExportPopover";
export default function ExampleExportPopover() {
return <ExportPopover />;
}