Yardımcı Fonksiyonlar
sdk.utils nesnesi, MonoChat içinde dinamik, kullanıcı dostu ve duyarlı görünümler oluşturmanıza yardımcı olan çok çeşitli yardımcı fonksiyonlar sağlar. Bunlar arasında biçimlendirme, dosya yükleme, zamanlayıcılar, rol kontrolleri, bildirimler ve daha fazlası bulunur.
Kategoriler
Biçimlendirme
formatDate(date)– Formatlanmış bir tarih döndürür.formatDateTime(date)– Tam tarih-saat stringi döndürür.formatDateTimeLocal(date)– Yerel ayara duyarlı tarih-saat stringi döndürür.currency.priceString(isoCode, price, options)– Fiyatı ve para birimini biçimlendirir.
HTML/Serileştirme
slugify(string)– Bir stringi URL güvenli slug’a çevirir.serialize(obj)– Bir nesneyi stringe serileştirir.deserialize(string)– Serileştirilmiş stringi tekrar nesneye çevirir.
Yükleme Durumu
loading.show()– Görünümü bir yükleme spinner’ı ile bloke eder.loading.remove()– Yükleme katmanını kaldırır.
Dosya Yükleme
uploadAsync(dropzone)– Dropzone’dan dosyaları yükler ve URL’lerini döndürür.uploadFileAsync(file)– Tek dosya yükler.getSignedFileUrl()– Güvenli bir dosya URL’si alır.
QR Kodları
generateQrCodeAsync({ data })– Verilen giriş için base64 QR kod resmi döndürür.
Drawer
drawer.show({...})– Belirtilen custom function ile bir drawer açar.drawer.hide()– Açık drawer’ı gizler.drawer.close()– Drawer’ı tamamen kapatır.
Bildirimler
notify.success(message)– Başarılı toast gösterir.notify.failure(message)– Hata/başarısız toast gösterir.
Onay Diyaloğu
confirmation({ title, text }, onConfirm, onCancel)– Onay diyaloğu açar.
Yenileme Token’ları
setRefreshToken(key)– Belirli bir key için yenileme tetikler.listenRefreshToken(key)– Yenileme key değişikliklerini reaktif olarak dinler.
Reaktif ve Zamanlayıcı Yardımcıları
autorun(fn)– Reaktif veri kaynaklarını takip eder ve fonksiyonu yeniden çalıştırır.nonreactive(fn)– Fonksiyonu reaktif olmadan çalıştırır.setTimeout(fn, ms)– Fonksiyonun çalışmasını geciktirir.clearTimeout(timer)– Timeout’u temizler.setInterval(fn, ms)– Fonksiyonu belirli aralıklarla tekrarlar.clearInterval(timer)– Interval’i temizler.
Rol Kontrol Yardımcıları
roles.userIsInRole(roles)– Kullanıcının belirtilen rollerde olup olmadığını kontrol eder (sync).roles.userIsInRoleAsync(roles)– Rol kontrolünü async olarak yapar.roles.userIsInParentRole(roles)– Üst organizasyon rolünü kontrol eder.roles.userIsInRootRole(roles)– Root seviye rol kontrolü yapar.roles.userIsInParentRoleAsync(roles)– Async üst rol kontrolü.roles.userIsInRootRoleAsync(roles)– Async root rol kontrolü.
Loglama
logger.info(...args)– Konsol bilgi mesajı.logger.warn(...args)– Konsol uyarı mesajı.logger.error(...args)– Konsol hata mesajı.logger.debug(...args)– Konsol debug mesajı.
Diğer
translate('i18n.key')– i18n anahtarları ile string çevirisi yapar.absoluteUrl(path)– Path için mutlak URL döndürür.absolutePathString(name)– Göreli path’i tam path stringine çevirir.random.id()– Rastgele ID stringi üretir.
Örnek: Yükleme + Bildirim
const files = await sdk.utils.uploadAsync(dropzone)
if (files.length > 0) {
sdk.utils.notify.success('Dosyalar başarıyla yüklendi!')
}