views
dizi altında com
dizini oluşturdum. Bu dizin benim component'lerimi barındaracak.
bootstrap 4/5 modal tasarımıdır.
<div class="modal fade text-start modal-{{ $config["class"] ?? 'primary' }}" id="{{ $config["id"]}}" tabindex="-1"
aria-labelledby="{{ $config["id"]}}Label" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered {{ $type ?? '' }}">
<div class="modal-content">
@isset($config["route"])<form action="{{ route($config["route"]) }}" method="post"> @csrf @endisset
<div class="modal-header">
<h5 class="modal-title" id="{{ $config["id"]}}Label">@lang($config["title"] ?? "Title")</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="@lang("Close")"></button>
</div>
<div class="modal-body">
{!! $body ?? '' !!}
</div>
<div class="modal-footer">
@isset($footer)
{!! $footer ?? '' !!}
@else
<button type="{{ isset($config["route"]) ? "submit": "button" }}" class="btn btn-{{ $class ?? 'primary' }}">
@isset($config["icon"])<i data-feather="{{ $config["icon"] }}" class="mr-2"></i>@endisset
@lang($config["button"] ?? "Save")
</button>
@endisset
</div>
@isset($config["route"])</form>@endisset
</div>
</div>
</div>
id
modalın html id sini belirlertitle
modalın başlık kısmı dil dosyasına göre çalışır yazdığınız içerik dil dosyasında varsa dile göre tanımlanır. Var sayılan olaral Title yazdım.button
varsayılan olarak tanımlı olan butonun başlığıdır. Dil dosyasına göre tanımlanır. varsayılan olarak Save yazdımclass
Bootstrap 4/5 modal class değeridir. Boş bırakıla bilir.type
Bootstrap 4/5 modal genişlik özelliğidir. örneğin:modal-lg
gibi class alırroute
modalınız bir form içeriyorsa laravelroute name
tanımlanır. Tanımlanmaz ise form olmadığı anlamına gelir.icon
butonun solunda bulunan icon benfeather
icon setine göre ayarladım siz kullandığınız formatta düzenleye bilirsiniz.
Bu kısım modalın içerik kısmını belir bu sebebten @endslot
ile tamamlanmaktadır. Bu kısıma gerek metin gerekte html
içeriğini tanımlaya bilirsiniz
Bu kısım modalın alt kısmını belir bu sebebten @endslot
ile tamamlanmaktadır. Bu kısıma kullanarak tanımlı olan butonu geçersiz kılarak html
olarak özel butonlarınızı tanımlaya bilirsiz.
- genel kullanım
<button type="button" class="btn btn-outline-primary" data-bs-toggle="modal" data-bs-target="#createCategory">
Modal Butonu
</button>
@component("components.modal")
@slot('config', [
"id"=>"createCategory",
"title"=>"Category",
"button"=>"Save",
"class"=>"success",
"type"=>"modal-xl",
"route"=>"categories.store",
"icon"=>"save",
])
@slot('body')
<div class="form-row">
<div class="col">
<input type="text" class="form-control" placeholder="İsim">
</div>
<div class="col">
<input type="text" class="form-control" placeholder="Soyisim">
</div>
</div>
@endslot
@endcomponent
- basit modal
<button type="button" class="btn btn-outline-primary" data-bs-toggle="modal" data-bs-target="#showCategory">
Modal Butonu
</button>
@component("components.modal")
@slot('config', [
"id"=>"showCategory",
"title"=>"İçerik Gösterimi",
"button"=>"Kapat",
"icon"=>"close",
])
@slot('body')
<h2>Kategori Baslik</h2>
<p>Kategori aciklama</p>
@endslot
@endcomponent
- footer örneği
<button type="button" class="btn btn-outline-primary" data-bs-toggle="modal" data-bs-target="#deleteCategory">
Modal Butonu
</button>
@component("components.modal")
@slot('config', [
"id"=>"deleteCategory",
"title"=>"İçerik Silme"
])
@slot('body')
<h2>Kategori Baslik</h2>
<p>Kategori aciklama</p>
@endslot
@slot('footer')
<button type="button" class="btn btn-primary">Kapat</button>
<button type="button" class="btn btn-success">Sil</button>
@endslot
@endcomponent
Tartışmaya açıktır