94 lines
4.3 KiB
PHP
94 lines
4.3 KiB
PHP
@extends('admin.layout')
|
|
|
|
@section('content')
|
|
<link rel="stylesheet" href="{{ asset('css/fitur-admin.css') }}">
|
|
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
|
|
|
<div class="dashboard-section d-flex justify-content-center">
|
|
<div style="width: 100%; max-width: 700px;">
|
|
<div class="mb-4 text-center">
|
|
<h4 class="fw-bold text-dark">Edit Data Jurusan</h4>
|
|
<p class="text-muted small">Ubah informasi nama dan rumpun program studi.</p>
|
|
</div>
|
|
|
|
<div class="card border-0 shadow-sm rounded-4">
|
|
<div class="card-body p-5">
|
|
<form id="formEditJurusan">
|
|
<input type="hidden" id="jurusan_id" value="{{ $id }}">
|
|
<div class="row g-4">
|
|
<div class="col-md-12 form-group-custom">
|
|
<label class="fw-bold small text-muted">Nama Jurusan</label>
|
|
<input type="text" id="nama_jurusan" class="form-control input-custom" required>
|
|
</div>
|
|
<div class="col-md-12 form-group-custom">
|
|
<label class="fw-bold small text-muted">Rumpun</label>
|
|
<select id="rumpun" class="form-select input-custom" required>
|
|
<option value="Saintek">Saintek</option>
|
|
<option value="Soshum">Soshum</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-md-12 form-group-custom">
|
|
<label class="fw-bold small text-muted">Prospek Karir</label>
|
|
<textarea id="prospek_karir" class="form-control input-custom" rows="3"></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="mt-5 d-flex gap-2 justify-content-end">
|
|
<button type="submit" id="btnUpdate" class="btn text-white px-5 shadow-sm" style="background-color: var(--primary-green); border-radius: 10px;">Perbarui Data</button>
|
|
<a href="{{ route('admin.jurusan') }}" class="btn btn-light px-4" style="border-radius: 10px;">Batal</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
const jurusanId = document.getElementById('jurusan_id').value;
|
|
|
|
async function loadData() {
|
|
try {
|
|
const response = await fetch(`/api/admin/jurusan/${jurusanId}`, {
|
|
headers: { 'Authorization': 'Bearer ' + localStorage.getItem('access_token') }
|
|
});
|
|
const result = await response.json();
|
|
if (response.ok) {
|
|
document.getElementById('nama_jurusan').value = result.data.nama_jurusan;
|
|
document.getElementById('rumpun').value = result.data.rumpun;
|
|
document.getElementById('prospek_karir').value = result.data.prospek_karir || '';
|
|
}
|
|
} catch (error) { console.error(error); }
|
|
}
|
|
|
|
document.getElementById('formEditJurusan').addEventListener('submit', async (e) => {
|
|
e.preventDefault();
|
|
const btn = document.getElementById('btnUpdate');
|
|
btn.disabled = true;
|
|
|
|
const payload = {
|
|
nama_jurusan: document.getElementById('nama_jurusan').value,
|
|
rumpun: document.getElementById('rumpun').value,
|
|
prospek_karir: document.getElementById('prospek_karir').value
|
|
};
|
|
|
|
try {
|
|
const response = await fetch(`/api/admin/jurusan/${jurusanId}`, {
|
|
method: 'PUT',
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
'Authorization': 'Bearer ' + localStorage.getItem('access_token'),
|
|
'Accept': 'application/json'
|
|
},
|
|
body: JSON.stringify(payload)
|
|
});
|
|
|
|
if (response.ok) {
|
|
Swal.fire({ icon: 'success', title: 'Berhasil Diperbarui!', confirmButtonColor: '#2D6A4F' })
|
|
.then(() => { window.location.href = "{{ route('admin.jurusan') }}"; });
|
|
}
|
|
} catch (error) { Swal.fire('Error!', 'Gagal koneksi.', 'error'); }
|
|
finally { btn.disabled = false; }
|
|
});
|
|
|
|
document.addEventListener('DOMContentLoaded', loadData);
|
|
</script>
|
|
@endsection |