Nexa Filter adalah sistem pemformatan data yang kuat dan fleksibel yang memungkinkan Anda mengubah atau memformat data secara dinamis sebelum ditampilkan. Filter dapat digunakan dalam template FlatList dan FlatTabel untuk memformat berbagai jenis data seperti teks, angka, tanggal, dan format khusus Indonesia (NIK, NPWP, nomor telepon, dll). Filter dapat digunakan secara tunggal atau digabungkan (chaining) untuk hasil yang lebih kompleks.
Filter yang tersedia untuk mengolah data yang diambil dari database.
Filter | Deskripsi | Contoh | Hasil |
---|---|---|---|
upper | Mengubah teks menjadi huruf besar | {item.name|upper} | "John Doe" → "JOHN DOE" |
lower | Mengubah teks menjadi huruf kecil | {item.name|lower} | "John Doe" → "john doe" |
truncate | Memotong teks dan menambahkan titik-titik. Panjang default adalah 100 | {item.content|truncate(20)} | "Ini adalah teks yang sangat panjang" → "Ini adalah teks yan..." |
date | Memformat tanggal menggunakan format PHP date. Format default adalah Y-m-d | {item.created_at|date(Y-m-d H:i)} | "2024-03-20 15:30:00" → "2024-03-20 15:30" |
time_ago | Mengubah timestamp menjadi waktu relatif | {item.created_at|time_ago} | "2024-03-19" → "1 hari yang lalu" |
number_format | Memformat angka dengan pemisah ribuan. Parameter adalah jumlah desimal | {item.price|number_format(2)} | 1000000.50 → "1.000.000,50" |
currency | Memformat sebagai mata uang. Parameter: kode mata uang, jumlah desimal | {item.price|currency(IDR,2)} | 1000000 → "IDR 1.000.000,00" |
capitalize | Mengubah huruf pertama setiap kata menjadi kapital | {data.name|capitalize} | "john doe" → "John Doe" |
slug | Mengubah teks menjadi format URL yang aman | {data.title|slug} | "Hello World!" → "hello-world" |
nl2br | Mengubah baris baru menjadi tag <br> | {data.content|nl2br} | "Baris 1\nBaris 2" → "Baris 1 Baris 2" |
strip_tags | Menghapus tag HTML. Parameter: tag yang diizinkan | {data.html|strip_tags()} | "BoldItalic" → "BoldItalic" |
round | Membulatkan angka. Parameter: jumlah desimal | {data.number|round(2)} | 123.456789 → "123.46" |
percent | Memformat sebagai persentase | {data.rate|percent(1)} | 0.1234 → "12.3%" |
filesize | Memformat ukuran file | {data.size|filesize} | 1048576 → "1.00 MB" |
phone | Memformat nomor telepon Indonesia | {data.phone|phone} | "081234567890" → "+62 8123 4567 890" |
mask | Menyembunyikan sebagian teks. Parameter: karakter mask, jumlah karakter awal, jumlah karakter akhir | {data.card|mask(*,4,4)} | "1234567890123456" → "1234********3456" |
trim | Menghapus spasi di awal dan akhir teks | {data.text|trim} | " text " → "text" |
replace | Mengganti teks. Parameter: pencarian, pengganti | {data.text|replace(a,i)} | "kata" → "kiti" |
substr | Mengambil sebagian teks. Parameter: start, length | {data.text|substr(0,5)} | "teks panjang" → "teks " |
pad | Menambah padding. Parameter: panjang, karakter, posisi | {data.number|pad(5,0,left)} | "42" → "00042" |
abs | Nilai absolut | {data.number|abs} | "-42" → "42" |
decimal_to_rupiah | Format ke Rupiah | {data.price|decimal_to_rupiah} | 1000000 → "Rp 1.000.000,-" |
indonesian_date | Format tanggal Indonesia | {data.date|indonesian_date} | "2024-03-20" → "20 Maret 2024" |
age | Hitung umur dari tanggal lahir | {data.birthdate|age} | "1990-01-01" → "34" |
nik | Format NIK | {data.nik|nik} | "3171234567890123" → "3171.2345.6789.0123" |
npwp | Format NPWP | {data.npwp|npwp} | "012345678912345" → "01.234.567.8-912.345" |
<FlatList data="users" fields="name,bio,created_at,balance" keyextractor="data">
<div class="user-card">
<h3></h3>
<p>{data.bio|truncate(100)}</p>
<span class="date">Bergabung: {data.created_at|date(d M Y)}</span>
<span class="time-ago">{data.created_at|time_ago}</span>
<div class="balance">{data.balance|currency(IDR,2)}</div>
</div>
</FlatList>
<table>
<tbody data="products" fields="name,description,price,updated_at" keyextractor="data">
<tr>
<td>{item.no}</td>
<td></td>
<td>{data.description|truncate(50)}</td>
<td>{data.price|currency(IDR,2)}</td>
<td>{data.updated_at|time_ago}</td>
</tr>
</tbody>
</table>
Anda dapat menggabungkan beberapa filter menggunakan simbol pipa (|)