Ana içeriğe geç

Ayarlar (Settings)

Route

/ayarlar

Sayfanın Amacı

Platform modüllerini yönetmek: yeni modül oluşturma, mevcut modülleri düzenleme/silme ve modüllerin görüntülenme sırasını belirleyip kaydetme.

Sayfada Bulunan Alanlar

  • Başlık kartı: "Ayarlar" başlığı, görünüm seçici (Düzenle / Sırala), "Platformlarda ara" arama kutusu (her iki görünümde de çalışır).
  • Düzenle görünümü: yeni platform modülü ekleme formu (ad + URL).
  • Sırala görünümü: "Platform Sıralaması" alt başlığı, sıralama modu seçici (Düzenleme Tarihine Göre / Harfe Göre / Manuel), tüm modüllerin 3 sütunlu kart ızgarası; Manuel modda her kartta 1..N arası pozisyon seçici, değişiklik yapıldığında "kaydedilmemiş" olarak işaretlenir, "Sıralamayı Kaydet" butonu (kaydedilecek bir şey olmadan pasif).
  • Arama (her iki görünümde): eşleşen modülleri, düzenleme kalemi ve yönlendirme okuyla birlikte tam ModuleCard olarak gösterir (Platformlar sayfasındaki sade karttan farklı olarak).

Kullanıcı İşlemleri

  1. Görünüm seçiciyle Düzenle/Sırala arasında geçiş yapma.
  2. (Düzenle) yeni modül adı ve URL'si girerek modül oluşturma.
  3. Arama sonucunda bir kartın düzenleme (kalem) ikonuna tıklayarak modülü güncelleme veya onaylı şekilde silme.
  4. (Sırala/Manuel) her kart için pozisyon seçerek sırayı değiştirme, ardından "Sıralamayı Kaydet" ile kaydetme; kaydedilmemiş değişikliklerle görünüm değiştirilmeye çalışıldığında onay istenir.
  5. Bir kartın gövdesine tıklayarak ilgili adrese yönlendirme (Platformlar sayfasındakiyle aynı davranış).

Kullanılan Veriler

  • Platform modülü listesi (id, ad, url, oluşturulma tarihi).
  • Kaydedilmiş platform sıralaması (kuyruk kaydı), varsa.

Yetki ve Görünürlük

user rolündeki kullanıcılar bu sayfaya erişemez — doğrudan adresle girilse bile RequirePlatformAccess koruması devreye girer ve sayfa render edilmeden /platform'a yönlendirilir. Diğer tüm oturumlu kullanıcılar tam erişime sahiptir.

Kullanılan Bileşenler

  • dashboard/src/components/settings/index.tsx — sayfa bileşeni.
  • dashboard/src/components/platform/index.tsx — ModuleCard bileşeni buradan yeniden kullanılır.
  • dashboard/src/components/platform/ModuleFormModal.tsx — modül oluşturma/düzenleme formu (modal).

API İletişimi

İşlem Metot Endpoint Kullanım amacı
Modül listesini getirme GET /iqv_platform_modulleri Tüm modülleri listeleme
Modül oluşturma POST /iqv_platform_modul_ekle Yeni platform modülü ekleme
Modül güncelleme PUT /iqv_platform_modul_guncelle Mevcut modülü güncelleme
Modül silme DELETE /iqv_platform_sil Modülü silme
Kaydedilmiş sıralamayı getirme POST /platform-queue-list Mevcut sıralamayı yükleme
Sıralamayı kaydetme POST /platform-queue-create Yeni sıralamayı kaydetme

Ayrıntılar için bkz. API Dokümantasyonu › Platform Modülleri.

Durum Yönetimi

  • Modül listesi: platformService.tsx'teki paylaşılan önbellek (Platformlar sayfasıyla aynı önbellek kaynağı); modül oluşturma/güncelleme/silme sonrası önbellek geçersiz kılınır.
  • Görünüm seçimi, arama metni, sıralama modu, "kaydedilmemiş değişiklik" bayrağı: yerel React state.
  • Sıralama kaydından önce istemci tarafında doğrulama yapılır (boş olmama, yinelenen modül olmaması, tam üyelik eşleşmesi, 1..N aralığında benzersiz ve ardışık pozisyonlar) — bu doğrulama ağa istek göndermeden çalışır.