Ö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.
functionmodalDialogEvent() {showSwal("{{__('Yükleniyor...')}}",'info');let data =newFormData();// 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'); });}