101 lines
4.8 KiB
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
|