fix(master-land): adding address field in master-land

This commit is contained in:
arieeefajar 2025-02-28 17:34:28 +07:00
parent ac2f813d7f
commit e13253cc8b
4 changed files with 48 additions and 0 deletions

View File

@ -53,6 +53,10 @@ public function store(Request $request)
'district_id.required' => 'Kecamatan wajib diisi', 'district_id.required' => 'Kecamatan wajib diisi',
'district_id.exists' => 'Kecamatan tidak ditemukan', 'district_id.exists' => 'Kecamatan tidak ditemukan',
'address.required' => 'Alamat wajib diisi',
'address.max' => 'Alamat maksimal 100 karakter',
'address.string' => 'Alamat harus berupa string',
'lat.required' => 'Latitude wajib diisi', 'lat.required' => 'Latitude wajib diisi',
'lat.numeric' => 'Latitude harus berupa angka', 'lat.numeric' => 'Latitude harus berupa angka',
@ -74,6 +78,7 @@ public function store(Request $request)
'province_id' => 'required|exists:provinces,id', 'province_id' => 'required|exists:provinces,id',
'regency_id' => 'required|exists:regencies,id', 'regency_id' => 'required|exists:regencies,id',
'district_id' => 'required|exists:districts,id', 'district_id' => 'required|exists:districts,id',
'address' => 'required|string|max:100',
'lat' => 'required|numeric', 'lat' => 'required|numeric',
'lng' => 'required|numeric', 'lng' => 'required|numeric',
], $customMessage); ], $customMessage);
@ -93,6 +98,7 @@ public function store(Request $request)
$land->province_code = $request->province_id; $land->province_code = $request->province_id;
$land->regency_code = $request->regency_id; $land->regency_code = $request->regency_id;
$land->district_code = $request->district_id; $land->district_code = $request->district_id;
$land->address = $request->address;
$land->latitude = $request->lat; $land->latitude = $request->lat;
$land->longitude = $request->lng; $land->longitude = $request->lng;
@ -143,6 +149,10 @@ public function update(Request $request, $id)
'district_id.required' => 'Kecamatan wajib diisi', 'district_id.required' => 'Kecamatan wajib diisi',
'district_id.exists' => 'Kecamatan tidak ditemukan', 'district_id.exists' => 'Kecamatan tidak ditemukan',
'address.required' => 'Alamat wajib diisi',
'address.max' => 'Alamat maksimal 100 karakter',
'address.string' => 'Alamat harus berupa string',
'lat.required' => 'Latitude wajib diisi', 'lat.required' => 'Latitude wajib diisi',
'lat.numeric' => 'Latitude harus berupa angka', 'lat.numeric' => 'Latitude harus berupa angka',
@ -164,6 +174,7 @@ public function update(Request $request, $id)
'province_id' => 'required|exists:provinces,id', 'province_id' => 'required|exists:provinces,id',
'regency_id' => 'required|exists:regencies,id', 'regency_id' => 'required|exists:regencies,id',
'district_id' => 'required|exists:districts,id', 'district_id' => 'required|exists:districts,id',
'address' => 'required|string|max:100',
'lat' => 'required|numeric', 'lat' => 'required|numeric',
'lng' => 'required|numeric', 'lng' => 'required|numeric',
], $customMessage); ], $customMessage);
@ -183,6 +194,7 @@ public function update(Request $request, $id)
$land->province_code = $request->province_id; $land->province_code = $request->province_id;
$land->regency_code = $request->regency_id; $land->regency_code = $request->regency_id;
$land->district_code = $request->district_id; $land->district_code = $request->district_id;
$land->address = $request->address;
$land->latitude = $request->lat; $land->latitude = $request->lat;
$land->longitude = $request->lng; $land->longitude = $request->lng;

View File

@ -22,6 +22,7 @@ public function up(): void
$table->string('province_code'); $table->string('province_code');
$table->string('regency_code'); $table->string('regency_code');
$table->string('district_code'); $table->string('district_code');
$table->string('address');
$table->string('latitude'); $table->string('latitude');
$table->string('longitude'); $table->string('longitude');
$table->timestamps(); $table->timestamps();

View File

@ -31,6 +31,12 @@ var districtEditVal = new Choices(districtEditField, {
shouldSort: false, shouldSort: false,
}); });
var addressContainer = form.querySelector("#address-container");
var addressField = form.querySelector("#address-field");
var addressEditContainer = formEdit.querySelector("#address-edit-container");
var addressEditField = formEdit.querySelector("#address-edit-field");
var mapContainer = form.querySelector("#map-container"); var mapContainer = form.querySelector("#map-container");
var latField = form.querySelector("#lat"); var latField = form.querySelector("#lat");
var lngField = form.querySelector("#lng"); var lngField = form.querySelector("#lng");
@ -130,9 +136,13 @@ function showmap(districtId) {
mapContainer.style.display = "block"; mapContainer.style.display = "block";
map.invalidateSize(); map.invalidateSize();
addressContainer.style.display = "block";
mapEditConatiner.style.display = "block"; mapEditConatiner.style.display = "block";
mapEdit.invalidateSize(); mapEdit.invalidateSize();
addressEditContainer.style.display = "block";
btnContainer.style.display = "block"; btnContainer.style.display = "block";
btnEditContainer.style.display = "block"; btnEditContainer.style.display = "block";
@ -257,6 +267,8 @@ function getRegencies(provinceId) {
regencyEditContainer.style.display = "none"; regencyEditContainer.style.display = "none";
districtContainer.style.display = "none"; districtContainer.style.display = "none";
districtEditContainer.style.display = "none"; districtEditContainer.style.display = "none";
addressContainer.style.display = "none";
addressEditContainer.style.display = "none";
loading.style.display = "block"; loading.style.display = "block";
loadingEdit.style.display = "block"; loadingEdit.style.display = "block";
mapContainer.style.display = "none"; mapContainer.style.display = "none";
@ -344,6 +356,8 @@ function getRegencies(provinceId) {
function getDistricts(regencyId) { function getDistricts(regencyId) {
districtContainer.style.display = "none"; districtContainer.style.display = "none";
districtEditContainer.style.display = "none"; districtEditContainer.style.display = "none";
addressContainer.style.display = "none";
addressEditContainer.style.display = "none";
loading.style.display = "block"; loading.style.display = "block";
loadingEdit.style.display = "block"; loadingEdit.style.display = "block";
mapContainer.style.display = "none"; mapContainer.style.display = "none";
@ -545,6 +559,9 @@ async function updateData(data) {
}, },
}); });
addressEditContainer.style.display = "block";
addressEditField.value = land.address;
mapEdit.setView([land.latitude, land.longitude], 16); mapEdit.setView([land.latitude, land.longitude], 16);
currentMarkerEdit currentMarkerEdit
.setLatLng([land.latitude, land.longitude]) .setLatLng([land.latitude, land.longitude])

View File

@ -274,6 +274,15 @@ class="needs-validation" method="POST" novalidate id="add-form">
</div> </div>
</div> </div>
<div class="mb-3" id="address-container" style="display: none">
<label for="address-field" class="form-label">Alamat</label>
<textarea name="address" id="address-field" rows="3" class="form-control"
placeholder="Masukan Alamat, cnth: Jl. Jend. Sudirman No. 12" required></textarea>
<div class="invalid-feedback">
Masukan Alamat
</div>
</div>
<div id="map-container" style="display: none"> <div id="map-container" style="display: none">
<label for="map" class="form-label">Lokasi</label> <label for="map" class="form-label">Lokasi</label>
<div id="map"></div> <div id="map"></div>
@ -426,6 +435,15 @@ class="needs-validation" method="POST" novalidate id="add-form">
</div> </div>
</div> </div>
<div class="mb-3" id="address-edit-container" style="display: none">
<label for="address-edit-field" class="form-label">Alamat</label>
<textarea name="address" id="address-edit-field" rows="3" class="form-control"
placeholder="Masukan Alamat, cnth: Jl. Jend. Sudirman No. 12" required></textarea>
<div class="invalid-feedback">
Masukan Alamat
</div>
</div>
<div id="map-edit-container"> <div id="map-edit-container">
<label for="map-edit" class="form-label">Lokasi</label> <label for="map-edit" class="form-label">Lokasi</label>
<div id="map-edit"></div> <div id="map-edit"></div>