From 8f42b9df762fbc5b2eb86cad56713c6b902a533b Mon Sep 17 00:00:00 2001 From: Benjamin Takats Date: Sat, 28 Jan 2023 22:53:47 +0100 Subject: [PATCH] osm data --- .../Livewire/Meetup/PrepareForBtcMapItem.php | 35 ++++++++++++++----- .../meetup/prepare-for-btc-map-item.blade.php | 10 +++--- routes/web.php | 6 ++-- 3 files changed, 33 insertions(+), 18 deletions(-) diff --git a/app/Http/Livewire/Meetup/PrepareForBtcMapItem.php b/app/Http/Livewire/Meetup/PrepareForBtcMapItem.php index 7fe09df1..e6a7b367 100644 --- a/app/Http/Livewire/Meetup/PrepareForBtcMapItem.php +++ b/app/Http/Livewire/Meetup/PrepareForBtcMapItem.php @@ -6,18 +6,30 @@ use App\Models\Meetup; use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Storage; use Livewire\Component; +use WireUi\Traits\Actions; class PrepareForBtcMapItem extends Component { + use Actions; + public Meetup $meetup; - public $wikipediaSearchResults; + public $population; + public $population_date; public $osmSearchResults; public $osmSearchResultsState; public $osmSearchResultsCountry; public $selectedItem; + public function rules() + { + return [ + 'population' => 'required|numeric', + 'population_date' => 'required|string', + ]; + } + public function mount() { $response = Http::acceptJson() @@ -40,16 +52,23 @@ class PrepareForBtcMapItem extends Component if ($this->meetup->city->osm_relation) { $this->selectedItem = $this->meetup->city->osm_relation; - - $wikipediaUrl = 'https://query.wikidata.org/sparql?query=SELECT%20%3Fpopulation%20WHERE%20%7B%0A%20%20SERVICE%20wikibase%3Amwapi%20%7B%0A%20%20%20%20%20%20bd%3AserviceParam%20mwapi%3Asearch%20%22'.urlencode($this->meetup->city->name).'%22%20.%20%20%20%20%0A%20%20%20%20%20%20bd%3AserviceParam%20mwapi%3Alanguage%20%22en%22%20.%20%20%20%20%0A%20%20%20%20%20%20bd%3AserviceParam%20wikibase%3Aapi%20%22EntitySearch%22%20.%0A%20%20%20%20%20%20bd%3AserviceParam%20wikibase%3Aendpoint%20%22www.wikidata.org%22%20.%0A%20%20%20%20%20%20bd%3AserviceParam%20wikibase%3Alimit%201%20.%0A%20%20%20%20%20%20%3Fitem%20wikibase%3AapiOutputItem%20mwapi%3Aitem%20.%0A%20%20%7D%0A%20%20%3Fitem%20wdt%3AP1082%20%3Fpopulation%0A%7D'; - $response = Http::acceptJson() - ->get( - $wikipediaUrl - ); - $this->wikipediaSearchResults = $response->json(); } } + public function updatedPopulation($value) + { + $this->meetup->city->population = $value; + $this->meetup->city->save(); + $this->notification()->success('Population updated', 'Success'); + } + + public function updatedPopulationDate($value) + { + $this->meetup->city->population_date = $value; + $this->meetup->city->save(); + $this->notification()->success('Population date updated', 'Success'); + } + public function selectItem($index, bool $isState = false, $isCountry = false) { if ($isState) { diff --git a/resources/views/livewire/meetup/prepare-for-btc-map-item.blade.php b/resources/views/livewire/meetup/prepare-for-btc-map-item.blade.php index d8ee7876..56ccaeb0 100644 --- a/resources/views/livewire/meetup/prepare-for-btc-map-item.blade.php +++ b/resources/views/livewire/meetup/prepare-for-btc-map-item.blade.php @@ -103,12 +103,10 @@

Wikipedia Search Results

- @foreach($wikipediaSearchResults['results']['bindings'] ?? [] as $pop) -
- population: {{ number_format($pop['population']['value']) }} -
- @endforeach + Wikipedia: {{ $meetup->city->name }} + +

DB population

diff --git a/routes/web.php b/routes/web.php index 204923b6..9027fe63 100644 --- a/routes/web.php +++ b/routes/web.php @@ -186,9 +186,7 @@ Route::middleware([ * Meetup OSM * */ Route::get('/meetup-osm/table', \App\Http\Livewire\Meetup\PrepareForBtcMapTable::class) - ->name('osm.meetups') - ->can('NovaAdminPolicy.viewAny'); + ->name('osm.meetups'); Route::get('/meetup-osm/item/{meetup}', \App\Http\Livewire\Meetup\PrepareForBtcMapItem::class) - ->name('osm.meetups.item') - ->can('NovaAdminPolicy.viewAny'); + ->name('osm.meetups.item'); });