Ana içeriğe geç

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!')
}