⚓
Liman Eklenti Geliştirme
  • Hoşgeldiniz!
  • Başlangıç
    • Geliştirme Ortamı Kurulumu
    • Yeni Eklenti Oluşturma
  • Genel Bilgiler
    • Dosya ve Dizin Yapısı
    • Kontrolcüler
    • Rotalar
    • Veritabanı Mantığı
    • Bileşen Mantığı
    • Paket Bağımlılığı Eklemek
    • PHP Yardımcı Fonksiyonları
    • JS Yardımcı Fonksiyonları
  • Geliştirme
    • Sunucuda Komut Çalıştırmak
    • Sunucuda Betik Çalıştırmak
    • Dosya Yükleme, İndirme
    • Protokol Bağlantıları (LDAP, SMB)
  • Arayüz Elemanları
    • Tablo
    • Modal
    • Dosya Yükleme
    • Görev (Task)
  • İleri Seviye
    • Toolkit Kullanımı
    • Yerelleştirme
    • Composer
    • DB Kütüphanesi
Powered by GitBook
On this page
  • Modal componenti nedir?
  • Nasıl kullanılır?
  • Modal açmak
  • Modal oluşturmak
  • Modaldan değer almak

Was this helpful?

Export as PDF
  1. Arayüz Elemanları

Modal

Liman eklentileri üzerinde kolay bir biçimde modal (açılır pencere) oluşturmanın yolları.

PreviousTabloNextDosya Yükleme

Last updated 3 years ago

Was this helpful?

Modal componenti nedir?

Modal componenti, karmaşık akışları kolaylaştırmak ve sayfa içinde görünmesini istemediğimiz yapılar için kullanılabilecek bir bileşendir.

  • Kullanıcıdan girdi alınması

  • Kullanıcıya veri detayı gösterilmesi

Nasıl kullanılır?

Modal açmak

Modal düğmesi

Modal düğmesi componentini kullanarak oluşturduğunuz modalları açabilirsiniz. Aşağıdaki şekilde kullanılabilmektedir.

@include("modal-button", [
    "text" => "Örnek Modal Aç",
    "class" => "btn-primary",
    "target_id" => "exampleModalWindow"
])

Parametre

Açıklama

text

Modal açma düğmesinin üzerinde yazacak yazı

class

Düğmeye ait olan class parametresi

target_id

Açılması istenilen modalın id değeri

Javascript ile modal açmak

Modallar düğme ile açılabildiği gibi sizin belirlediğiniz özel Javascript eventleri, fonksiyonları ile de açılabilmektedir.

// Modal göster
$("#<MODAL_IDSI>").modal("show");

// Modal gizle
$("#<MODAL_IDSI>").modal("hide");

Modal oluşturmak

Örnek bir modal oluşturmak için aşağıdaki yapıyı kullanabilirsiniz. @component ve @endcomponent tagları içerisinde kalan kısma checkbox, radio button, input, selectbox ve diğer tüm HTML elementlerini istediğiniz gibi yerleştirerek modal içeriğini oluşturabilirsiniz.

@component("modal-component", [
    "id" => "exampleModalWindow",
    "title" => "Örnek Modal",
    "notSized" => true,
    "modalDialogClasses" => "classExample",
    "footer" => [
        "class" => "btn-danger",
        "onclick" => "modalDialogEvent()",
        "text" => "What to do"
    ]
])    
    <input type="text" name="username" id="username_field" class="form-control">
    <small>Eklemek istediğiniz kullanıcı adını giriniz</small>

    <div class="mb-3"></div>
    
    <input type="password" name="password" id="password_field" class="form-control">
    <small>Kullanıcı şifresini giriniz</small>
@endcomponent

Parametre

Açıklama

Veri Tipi

id

Modala ait olan id değeri. Benzersiz şekilde belirlenmelidir.

title

Modalda görünecek başlık değeri.

notSized

Boyut geniş mi dar mı olacak belirlediğimiz değer.

modalDialogClasses

Modal üzerine eklenmek istenen class değerleri.

footer

Modal içerisindeki düğmelerin bulunduğu alt kısım.

footer->class

Düğmeye ait class değeri. (Renkler için kullanıyoruz)

footer->onclick

Tıklandığında gerçekleştirilecek işlem.

footer->text

Butonda görünecek yazı.

Modaldan değer almak

Yukarıdaki örnekte iki adet input tanımlamıştık. Bir tanesinde kullanıcı adı, diğerinde ise şifre isteniyordu. Bunları kullanıcı tarafından alarak üzerinde nasıl işlem yaparız gelin bakalım.

function modalDialogEvent() {
    showSwal("{{__('Yükleniyor...')}}", 'info');
    let data = new FormData();
    // exampleModalWindow modalının içerisinden username_field idsine sahip
    // inputtan değeri alıyor ve gönderdiğimiz requestin içerisine ekliyoruz.
    data.append("username", $("#exampleModalWindow").find("#username_field").val());
    // benzer bir işlemi şifre için de yapıyoruz
    // bu gönderdiğimiz değişkenlere controller tarafında 
    // request() yardımcı fonksiyonu ile erişeceğiz.
    // örnek: request("password");
    data.append("password", $("#exampleModalWindow").find("#password_field").val());

    request("{{API('add_user')}}", data, function(response){
        // işlem yapıldıktan sonra modal penceresini gizle.
        $("#exampleModalWindow").modal("hide");
        // Yükleniyor mesajını işlem bittiği için kapatıyoruz.
        Swal.close();
        // modal içerisindeki input değerlerini eski haline getiriyoruz.
        $("#exampleModalWindow").find("input").val("");
        response = JSON.parse(response);
        // Başarılı olduğuna dair 2.5 saniyelik bir mesaj gösteriyoruz.
        showSwal(response.message, 'success', 2500);
    }, function(error){
        error = JSON.parse(error);
        showSwal(error.message, 'error');
    });
}
Modal Componenti