sigd/resources/views/modules/setting/ef/modal.blade.php

101 lines
4.8 KiB
PHP

<div class="modal fade" id="addEfSourceModal" tabindex="-1" role="dialog" aria-labelledby="addEfSourceModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="addEfSourceModalLabel">Buat Sumber Data EF Baru</h5>
</div>
<form id="addEfSourceForm">
<div class="modal-body">
<div class="form-group">
<label for="new_ef_source_code">Kode <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="new_ef_source_code" name="new_ef_source_code" value="{{ old('new_ef_source_code') }}">
<div class="invalid-feedback" id="new_ef_source_code_error"></div>
</div>
<div class="form-group">
<label for="new_ef_source_name">Nama <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="new_ef_source_name" name="new_ef_source_name" value="{{ old('new_ef_source_name') }}">
<div class="invalid-feedback" id="new_ef_source_name_error"></div>
</div>
<div class="form-group">
<label for="new_ef_source_description">Deskripsi</label>
<textarea class="form-control" id="new_ef_source_description" name="new_ef_source_description">{{ old('new_ef_source_description') }}</textarea>
</div>
<div class="form-group">
<label for="new_ef_source_row_num">Nomor Baris <span class="text-danger">*</span></label>
<input type="number" class="form-control" id="new_ef_source_row_num" name="new_ef_source_row_num" value="{{ old('new_ef_source_row_num') }}">
<div class="invalid-feedback" id="new_ef_source_row_num_error"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="saveNewEfSourceBtn">Simpan</button>
</div>
</form>
</div>
</div>
</div>
@section('js')
<script>
$(document).ready(function() {
$('#addEfSourceBtn').click(function() {
$('#addEfSourceModal').modal('show');
});
$('#saveNewEfSourceBtn').click(function() {
var newEfSourceCode = $('#new_ef_source_code').val();
var newEfSourceName = $('#new_ef_source_name').val();
var newEfSourceDescription = $('#new_ef_source_description').val();
var newEfSourceRowNum = $('#new_ef_source_row_num').val();
$.ajax({
url: '{{ route($route.'.addEfSource') }}',
method: 'POST',
data: {
code: newEfSourceCode,
name: newEfSourceName,
description: newEfSourceDescription,
row_num: newEfSourceRowNum,
_token: '{{ csrf_token() }}'
},
success: function(data) {
$('#ef_source_code').append('<option value="' + data.code + '" selected>' + data.name + '</option>');
$('#ef_source_code').val(data.code).trigger('change');
clearErrors();
$('#addEfSourceModal').modal('hide');
$('#new_ef_source_code').val('');
$('#new_ef_source_name').val('');
$('#new_ef_source_description').val('');
$('#new_ef_source_row_num').val('');
},
error: function(xhr) {
if (xhr.status === 422) {
var errors = xhr.responseJSON.errors;
displayError('#new_ef_source_code', errors.code);
displayError('#new_ef_source_name', errors.name);
displayError('#new_ef_source_row_num', errors.row_num);
} else {
alert('Failed to save EF Source. Please try again.');
}
}
});
});
// Function to display validation errors
function displayError(field, error) {
$(field).addClass('is-invalid');
$(field + '_error').html(error);
}
function clearErrors() {
$('.is-invalid').removeClass('is-invalid');
$('.invalid-feedback').html('');
}
});
</script>
@endsection