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(url) – Saklanan bir dosyanın gösterileceği URL’yi promise olarak döndürür: gizli bir bucket’taysa (MonoChat’in kendi depolaması ya da omni-message’ın medyası) 60 dakikalığına imzalanır, değilse olduğu gibi döner. Bir view’ın gösterdiği her medya URL’si için kullanın.

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