OrganizationForms_organization → forms(query, publishStatus, sortBy) bağlantısı, sonsuz kaydırma). Sayfa gövdesi ORG_FORMS_VIEW ile; oluştur/düzenle eylemleri ORG_FORMS_MANAGE ile koşullanır. Başlıkta filtreye duyarlı toplam rozeti, altında arama · durum · sıralama araç çubuğu ve “Form Oluştur”.xl:4 / lg:3 / sm:2 ızgarada akar; her kart /form/{slug} düzenleyicisine bağlanan tam genişlik butonla biter.publishStatus == PUBLIC iken görünür; kopyalama “Bağlantı kopyalandı” / “Bağlantı kopyalanamadı” toast'ı üretir. Önizleme, organizasyon web sitesinde /form/{slug} adresini açar.FormOnboardingHero yalnızca org'da hiç form yokken ve aktif filtre yokken tüm araç çubuğu + ızgaranın yerine geçer. “İlk formunu oluştur” CTA'sı yalnızca ORG_FORMS_MANAGE ile render edilir; kahraman ekrandayken başlıktaki “Form Oluştur” butonu ile rehber gizlenir.useUrlFilterSync). Sıfır sonuç için kesikli çerçeveli “Filtreyle eşleşen form yok” kutusu; yüklenirken 8 kartlık skeleton fallback.!ORG_FORMS_VIEWNoAccessMessage bileşeni (“Formlar” bölüm etiketiyle) tüm sayfa gövdesinin yerine geçer. Org sorgusu null dönerse yerine “Organizasyon bulunamadı” gösterilir.CreateFormWizard, yalnızca ORG_FORMS_MANAGE): Şablon seç → Detaylar doldur (createForm mutasyonu). Kartın ⋯ menüsündeki Çoğalt/Sil ise ayrı diyaloglara (CloneFormDialog / DeleteFormDialog) bağlanır.OnboardingStepperUI iki adım: Şablon → Detaylar. 11 yerleşik şablon (info-request, course-evaluation, event-registration, course-gift, student-registration, contact-form, student-satisfaction, newsletter-signup, parent-information, course-enrollment, pre-assessment) türüne göre renk/ikon alır; arama boş dönerse “gallery.noResults”.UnsavedChangesConfirmDialog devreye girer.CloneFormDialog…-2) ön-doldurulur. Tek tam-genişlik “Formu Çoğalt” butonuyla gönderilir.AlertDialog; onay kutusuna tam olarak “Bu formu sil” yazılmadıkça Sil butonu pasif kalır. Başarıda “{title} formu silindi”, hatada “Form silinemedi.” toast'ı çıkar./admin/forms/[formSlug]): başlıkta form adı + herkese açıksa “Görüntüle”, altında sekme çubuğu Sorular · Ayarlar · Hesaplamalar · Sonuç Sayfaları · Otomasyonlar · Yanıtlar (?tab=). Yönetim sekmeleri yalnızca ORG_FORMS_MANAGE ile; izin yoksa yalnızca “Yanıtlar” gösterilir. Sorular sekmesi bölüm + soruların sürükle-bırak düzenleyicisidir (FormAdminSections_form).?tab= ile taşınır. Yönetim sekmeleri sekme değişiminde kaydedilmemiş ayar düzenlemesi varsa AlertDialog ile uyarır (Kaydedilmemiş değişiklikler / Sayfada kal / Değişiklikleri at).CreateQuestionDialog (Doğrusal Ölçek örneği)QuestionDataForm'u değiştirir: seçenekler/satır/sütun, karakter sınırları, iletişim türü (Tam Ad/Ad/Soyad/E-posta/Telefon/URL), tarih formatı (Tarih/Saat/Tarih ve Saat), dosya türleri (Video/Ses/Resim/PDF/Döküman/Arşiv) + boyut/süre, ölçek min/max/adım/etiket, ödeme para birimi/tutar/istediğin kadar öde, etiket grubu/etiketler, özel alan, zengin metin.FormQuestionType kodları (menü sırası): TEXT · TEXTAREA · RADIO · CHECKBOX · SELECT · LINEAR_SCALE · MULTISELECT · CONTACT · DATE · FILE · MATRIX · CONTENT · PAYMENT · TAG_GROUP_SELECT · TAG_SELECT · CUSTOM_FIELD.FormBuilderSettings_form + _organization). Yalnızca ORG_FORMS_MANAGE ile görünür.?scoringTab=): Hesaplamalar (otomatik: Matematik/Koşullu/Metin/Karşılaştırma) ve Manuel Değerlendirme Soruları (manuel notlama soruları). Boşken her ikisi de onboarding kahramanına düşer (“Hesaplamalarla başlayın” / “Manuel değerlendirmeyle başlayın”).ConditionsBuilder taşır (Eşleşme Türü VE/VEYA · Hesaplama + Operatör + Değer). 14 operatör (eşittir, büyüktür, içerir, boştur, doğrudur...). Hiçbir koşul eşleşmezse Varsayılan sayfa gösterilir.FormResponses → sessions(status, contactSearch) bağlantısı + durum bazlı sayaçlar). İletişim araması + Durum faceted filtresi, sütun görünürlüğü ve Excel/CSV dışa aktarma. ORG_FORMS_VIEW olan herkese görünür — yönetim izni olmayanlar için tek görünen sekme budur.| Kullanıcı | İletişim Bilgisi | Durum | Başlangıç | Bitiş | Cevaplar | |
|---|---|---|---|---|---|---|
EK Elif Kaya | elif.kaya@ornek.com | Tamamlandı | 8 Tem 2026, 14:22 | 8 Tem 2026, 14:31 | 9 | Detaylar |
MD Mert Doğan | mertdogan@ornek.com | Tamamlandı | 8 Tem 2026, 12:05 | 8 Tem 2026, 12:14 | 9 | Detaylar |
? Anonim | selin.arslan@ornek.com | Devam Ediyor | 8 Tem 2026, 09:40 | — | 4 | Detaylar |
CY Can Yıldırım | +90 5XX XXX XX XX | Duraklatıldı | 7 Tem 2026, 21:18 | — | 6 | Detaylar |
AŞ Ayşe Şahin | ayse.sahin@ornek.com | Tamamlandı | 7 Tem 2026, 16:52 | 7 Tem 2026, 17:03 | 9 | Detaylar |
BÇ Burak Çelik | burak.celik@ornek.com | Tamamlandı | 7 Tem 2026, 11:07 | 7 Tem 2026, 11:19 | 9 | Detaylar |
pi org slug'ında görünür. Durum faceted filtresi sunucu sayaçlarını gösterir (Devam Ediyor / Duraklatıldı / Tamamlandı).requestFormResultsExport mutasyonu FormResultsExportJob { status, processedSessions, totalSessions, downloadUrl } döndürür; ExportJobStatusDisplay ilerlemeyi (“{processed}/{total} yanıt işlendi”) canlı gösterir, bitince “Dışa aktarma tamamlandı”, hatada “Dışa aktarma başarısız oldu”.FormSessionStatus: Devam Ediyor · Duraklatıldı · Tamamlandı. Her seçenek yanında sunucudan gelen sayaç (completedCount / inProgressCount / pausedCount) gösterilir./admin/forms/[formSlug]/responses/[sessionId]): sol sabit kart yanıtlayan + meta + hesaplama sonuçları + mevcut notları, sağ kolon her bölümün cevaplarını (FormResponseDetail) ve manuel değerlendirme formunu (FormSessionGrading) gösterir. Kaynak: FormResponseDetailPageQuery. Not: tüm kişisel veriler kurgusaldır.isSafeUrl, kodlanmış mailto/tel). Ödeme soruları “Ödeme tamamlandı/bekleniyor/işleniyor” gösterir. Kaydetmede “Not kaydedildi” toast'ı; bir soru birden fazla değerlendirici gerektirebilir.FormGradingQuestionType: Sayısal Ölçek · Metin Geri Bildirimi · Rubrik · Geçti/Kaldı. Rubrik her kriter için seviye (puan/etiket/açıklama) seçtirir; puanlar toplanır. Değerlendirme kartı gönderime notu submitFormGrade / updateFormGrade ile yazar.