NX.fileType
— NexaType
Pratinjau ikon Font Awesome, gambar (lightbox), atau PDF (modal) di satu elemen DOM dari path berkas.
Modul Dom/NexaType.js — bukan bagian dari
NexaKit (selektor/generik), dan bukan
Storage() (API data).
Prasyarat
window.NEXA.url— basis URL absolut untuk gabung path file.window.NX—NexaLightbox.initAll, modal PDF /modalHTML.- Font Awesome (
fas), stylesheet modal bila PDF.
Tanda tangan
const info = NX.fileType(filePath, targetSelector);
// setara: NX.NexaType.fileType(...)
filePath string path relatif (bukan URL penuh); targetSelector CSS unik (disarankan
#id). Balikan objek info atau null.
Perilaku menurut jenis file
- Tanpa ekstensi — placeholder gambar tersembunyi,
isText: true. - Gambar (jpg, png, gif, webp, …) —
<img class="nexa-lightbox">+initAll. - PDF — ikon klik →
openModalPDF+ iframe. - Lainnya — ikon FA dari peta ekstensi / warna.
Objek kembalian
Properti antara lain: fileName, extension, hasExtension,
iconClass, iconColor, isImage, isPDF,
isText, targetElement — lihat Markdown untuk tipe lengkap.
Pemetaan ekstensi
Ikon dan warna dari fileIcons / fileColors internal: gambar, dokumen, data, arsip,
audio, video; tidak terdaftar → fas fa-file.
Integrasi NX
NX.fileType, NX.NexaType, alias NX.Type. ES module:
import { fileType, NexaType } from '…/nxdom.js'.
Contoh minimal
NX.fileType('/uploads/nota.pdf', '#preview-1');
NX.fileType('/media/thumb.png', '#preview-2');Elemen target harus sudah ada di DOM sebelum pemanggilan.
Demo di proyek
templates/filetype.js — route SPA /filetype; lihat konsol untuk log
objek kembalian.
Troubleshooting
null → selector / elemen / path; gambar putus → NEXA.url atau 404; PDF → modal belum
siap; lightbox → inisialisasi / jangan panggil initAll berlebihan pada daftar besar.
Lisensi / catatan
Perluasan ekstensi atau id unik untuk ikon non-PDF — edit NexaType.js.
Sumber lengkap
templates/theme/docs/platform/javascript/docs/fileType.mdassets/modules/Dom/NexaType.js