# JS Yardımcı Fonksiyonları

## showSwal

showSwal fonksiyonu Sweetalert2 için kullandığımız yardımcı fonksiyondur. Hızlı ve basit bir şekilde Swal ateşlemenizi sağlar. Örnek kullanımı aşağıdaki gibidir.

```javascript
showSwal("Yükleniyor...", "info", 2500);
```

| Argüman | Açıklama                                          | Veri Tipi |
| ------- | ------------------------------------------------- | --------- |
| message | Göstermek istediğiniz mesaj.                      | String    |
| type    | Gösterilen Swal'ın türü. (info, danger, error...) | String    |
| time    | Ne kadar süre gösterilecek (ms bazında)           | Integer   |

## API

Bu fonksiyon hem Javascript, hem de PHP tarafımızda bulunmaktadır. Bu fonksiyona Rotalar sayfasında girdiğimiz isim değişkenini verdikten sonra bize request atacağımız url'yi döndürmektedir. Örnek kullanım aşağıdaki gibidir.

```javascript
API("get_files")
```

## Request

Request fonksiyonu Liman eklentilerinde kullandığımız en önemli fonksiyonlardan biridir. Controllerlar veya dış kaynak bir API üzerinden veri almamızı sağlar. Gelin örnek bir request fonksiyonunu inceleyelim.

```javascript
let data = new FormData()
request("url", data, function(response) {
    console.log(response);
}, function(error) {
    console.log(error);
});
```

Bu fonksiyon belirlediğimiz url'ye bir POST requesti göndermektedir. Bu requestin sonucunda dönen veriye response, hata alırsak dönen veriye de error denmektedir. Gelin argüman listesi ve detaylarına bakalım.

| Argüman  | Açıklama                                         | Veri Tipi |
| -------- | ------------------------------------------------ | --------- |
| url      | İstek gönderilmesini istediğimiz endpoint.       | String    |
| data     | POST requestte göndereceğimiz ek veriler.        | FormData  |
| response | Yanıt geldiğinde yapılacak işlemlerin fonksiyonu | Function  |
| error    | Hata oluştuğunda yapılacak işlemlerin fonksiyonu | Function  |

```javascript
showSwal("{{__('Yükleniyor...')}}", 'info');
let data = new FormData();
request("{{API('list_files')}}", data, function(response){
    $("#filesTable").html(response).find("table").dataTable(dataTablePresets("normal"));
    Swal.close();
}, function(response){
    response = JSON.parse(response);
    showSwal(response.message, 'error');
});
```

## jQuery Fonksiyonları

Liman üzerinde jQuery kullanıldığı için istediğiniz tüm jQuery işlemlerinden faydalanabilirsiniz.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.liman.dev/eklenti-gelistirme/genel-bilgiler/javascript-yardimci-fonksiyonlari.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
