From 7cc687814f05ffc2acb69d4b3692adaa6ed22802 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Tue, 18 Mar 2025 08:17:30 +0700 Subject: [PATCH 1/9] feat(bank-data): tambahkan tombol untuk mendapatkan petunjuk arah - Menambahkan tombol "Get Directions" di tampilan data bank. - Mengimplementasikan fungsi getDirections untuk membuka Google Maps dengan rute dari lokasi pengguna ke lokasi tujuan. - Menggunakan geolocation API untuk mendapatkan lokasi pengguna saat ini. --- resources/views/bank-data/index.blade.php | 26 +++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/resources/views/bank-data/index.blade.php b/resources/views/bank-data/index.blade.php index 00b184f..360e3c7 100644 --- a/resources/views/bank-data/index.blade.php +++ b/resources/views/bank-data/index.blade.php @@ -320,6 +320,12 @@ +
+
+ +
`; @@ -354,6 +360,26 @@ } } + + function getDirections(lat, lng) { + console.log('Getting directions to:', lat, lng); + if (navigator.geolocation) { + navigator.geolocation.getCurrentPosition( + (position) => { + const origin = position.coords.latitude + ',' + position.coords.longitude; + const destination = lat + ',' + lng; + const url = `https://www.google.com/maps/dir/?api=1&origin=${origin}&destination=${destination}`; + window.open(url, '_blank'); + }, + () => { + alert('Unable to get your current location. Please enable location services.'); + } + ); + } else { + alert('Geolocation is not supported by your browser.'); + } + } + function initializeDataTable() { const element = document.querySelector('#bank-data-table'); const searchInput = document.getElementById('search'); From ea2f303ea44854c08371fb614868347daf5253e4 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Tue, 18 Mar 2025 08:45:31 +0700 Subject: [PATCH 2/9] feat(bank-data): tambahkan fitur galeri foto dan modal untuk gambar - Menambahkan dukungan untuk menampilkan foto objek bank. - Menambahkan modal untuk memperbesar gambar saat diklik. - Memperbarui tampilan untuk menampilkan foto utama dan thumbnail. - Memperbaiki lebar konten info window untuk menyesuaikan dengan gambar. --- app/Http/Controllers/BankDataController.php | 3 +- resources/views/bank-data/index.blade.php | 46 ++++++++++++++++++++- 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/BankDataController.php b/app/Http/Controllers/BankDataController.php index ac94545..4662338 100644 --- a/app/Http/Controllers/BankDataController.php +++ b/app/Http/Controllers/BankDataController.php @@ -148,7 +148,8 @@ class BankDataController extends Controller 'harga' => $item->harga, 'nilai_pasar' => $item->nilai_pasar, 'location' => $item->kordinat_lat . ', ' . $item->kordinat_lng, - 'address' => formatAlamat($item) + 'address' => formatAlamat($item), + 'photos' => json_decode($item->foto_objek, true) ?: [$item->foto_objek], // Add more fields as needed ]; }); diff --git a/resources/views/bank-data/index.blade.php b/resources/views/bank-data/index.blade.php index 360e3c7..547f6ac 100644 --- a/resources/views/bank-data/index.blade.php +++ b/resources/views/bank-data/index.blade.php @@ -166,6 +166,13 @@ + + @endsection @push('scripts') @@ -183,6 +190,26 @@ }); } + function openImageModal(src) { + const modal = document.getElementById('imageModal'); + const modalImage = document.getElementById('modalImage'); + modalImage.src = src; + modal.classList.remove('hidden'); + modal.classList.add('flex'); + } + + function closeImageModal() { + const modal = document.getElementById('imageModal'); + modal.classList.remove('flex'); + modal.classList.add('hidden'); + } + + function changeMainPhoto(thumbnail, index) { + const mainPhoto = thumbnail.closest('.photo-gallery').querySelector('.main-photo img'); + mainPhoto.src = thumbnail.src; + mainPhoto.alt = thumbnail.alt; + } + function updateMapMarkers(data) { // Clear existing markers markers.forEach(marker => marker.setMap(null)); @@ -218,7 +245,7 @@ // Create info window content const contentString = ` -
+

${item.jenis_aset} @@ -320,6 +347,23 @@

+ ${item.photos && item.photos.length > 0 ? ` + + ` : ''}
@endif - @if (Auth::user()->hasAnyRole(['administrator', 'EO Appraisal']) && $authorization->approve_so && $authorization->approve_eo == null) + @if (Auth::user()->hasAnyRole(['administrator', 'EO Appraisal']) && $authorization->approve_so && $authorization->approve_eo == null && in_array($permohonan->nilai_plafond_id, [1, 2])) @endif - @if (Auth::user()->hasAnyRole(['administrator', 'DD Appraisal']) && $authorization->approve_eo && $authorization->approve_dd == null) + @if (Auth::user()->hasAnyRole(['administrator', 'DD Appraisal']) && $authorization->approve_eo && $authorization->approve_dd == null && in_array($permohonan->nilai_plafond_id, [1, 4]))