Skip to content

Commit

Permalink
Basic Functionality for checklist view
Browse files Browse the repository at this point in the history
  • Loading branch information
MuchQuak committed Feb 11, 2025
1 parent f6f0924 commit fb6a8c8
Show file tree
Hide file tree
Showing 2 changed files with 95 additions and 54 deletions.
2 changes: 1 addition & 1 deletion app/Http/Controllers/ChecklistController.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public static function checklist(int $clid) {
->joinSub($sub_query, 'checklist_taxa', 'checklist_taxa.tid', 't.tid')
->orderBy('family')
->orderBy('sciname')
->select('t.tid', 'family', 'sciname')
->select('t.tid', 'family', 'sciname', 'unitName1', 'unitName2', 'rankId')
->get();

return view('pages/checklist/profile', ['checklist' => $checklist, 'taxons' => $taxons]);
Expand Down
147 changes: 94 additions & 53 deletions resources/views/core/pages/checklist/profile.blade.php
Original file line number Diff line number Diff line change
@@ -1,10 +1,42 @@
@props(['' => $checklist])
@props(['' => $checklist, 'taxons' => []])
@php
$families = [];
$genera = [];
$species = [];
foreach($taxons as $taxon) {
if($taxon->family) {
if(isset($families[$taxon->family])) {
$families[$taxon->family] += 1;
} else {
$families[$taxon->family] = 1;
}
}
// Todo Add Rank Id check
if($taxon->unitName1) {
if(isset($genera[$taxon->unitName1])) {
$genera[$taxon->unitName1] += 1;
} else {
$genera[$taxon->unitName1] = 1;
}
}
if($taxon->unitName2) {
if(isset($species[$taxon->unitName2])) {
$species[$taxon->unitName2] += 1;
} else {
$species[$taxon->unitName2] = 1;
}
}
}
@endphp
<x-layout class="grid grid-cols-1 gap-4">
<x-breadcrumbs :items="[
['title' => 'Home', 'href' => url('') ],
['title' => $checklist->projname, 'href' => url( config('portal.name') . '/projects/index.php?pid='. $checklist->pid) ],
$checklist->name
]"/>
]" />
<div class="flex items-center">
<h1 class="text-4xl font-bold">{{ $checklist->name }}</h1>
<div class="flex flex-grow justify-end gap-4">
Expand All @@ -22,61 +54,70 @@
</div>
{{-- TODO (Logan) figure out alternatives to this --}}
<x-accordion label='More Details' variant="clear-primary">
<div>
Locality:
</div>
<div>
Abstract:
<p>
[Description]
</p>
<div class="flex flex-col gap-2">
@isset($checklist->abstract)
<div><span class="font-bold">Abstract:</span><p>{{ $checklist->abstract }}</p></div>
@endisset

@isset($checklist->authors)
<div><span class="font-bold">Authors:</span> {{ $checklist->authors }}</div>
@endisset

@isset($checklist->locality)
<div><span class="font-bold">Locality:</span> {{ $checklist->locality }}</div>
@endisset
</div>
</x-accordion>
{{-- TODO (Logan) scope to clid --}}
<x-taxa-search />
<div class="grid grid-cols-2">
<div>
<div>Families: [Count]</div>
<div>Genera: [Count]</div>
<div>Species: [Count]</div>
<div>Total Taxa: [Count]</div>
{{-- TODO (Logan) scope to clid --}}

<div>
@php $previous @endphp
@foreach ($taxons as $taxon)
@if($loop->first || $taxons[$loop->index - 1]->family !== $taxon->family)
<div class="text-lg font-bold">{{ $taxon->family }}</div>
@endif
<div class="pl-4">
<x-link class="text-base" href="{{ url('taxon/' . $taxon->tid) }}">{{ $taxon->sciname }}</x-link>
<i class="ml-4 fa-solid fa-list"></i>
</div>

@endforeach
</div>
</div>
<fieldset class="flex flex-col gap-2">
<legend class="text-lg font-bold">Options</legend>
<x-link href="">Open Symbiota Key</x-link>
<x-link href="">Games</x-link>
<x-select class="w-64" default="0" :items="[
['title' => 'Original Checklist', 'value' => 'Original Checklist', 'disabled' => false],
['title' => 'Central Thesaurus', 'value' => 'Central Thesaurus', 'disabled' => false]
]"/>
<div class="text-lg font-bold">Taxonmic Filter</div>
<x-checkbox label="Display Synonyms" />
<x-checkbox label="Common Names" />
<x-checkbox label="Notes & Vouchers" />
<x-checkbox label="Taxon Authors" />
<x-checkbox label="Show Taxa Alphabetically" />
<div class="flex items-center">
<x-button>Build List</x-button>
<div class="flex flex-grow justify-end gap-4 text-xl">
<i class="fa-solid fa-download"></i>
<i class="fa-solid fa-print"></i>
<i class="fa-regular fa-file-word"></i>
<div class="flex items-center gap-2">
<div class="flex w-fit">
<x-popover class="w-[500px]">
<div class="flex flex-col gap-2">
<x-taxa-search />
<x-link href="">Open Symbiota Key</x-link>
<x-link href="">Games</x-link>

<x-select class="w-64" default="0" :items="[
['title' => 'Original Checklist', 'value' => 'Original Checklist', 'disabled' => false],
['title' => 'Central Thesaurus', 'value' => 'Central Thesaurus', 'disabled' => false]
]" />

<div class="text-lg font-bold">Taxonmic Filter</div>
<x-checkbox label="Display Synonyms" />
<x-checkbox label="Common Names" />
<x-checkbox label="Notes & Vouchers" />
<x-checkbox label="Taxon Authors" />
<x-checkbox label="Show Taxa Alphabetically" />
<div class="flex items-center">
<x-button x-on:click="popoverOpen=false">Build List</x-button>
<div class="flex flex-grow justify-end gap-4 text-xl">
<i class="fa-solid fa-download"></i>
<i class="fa-solid fa-print"></i>
<i class="fa-regular fa-file-word"></i>
</div>
</div>
</div>
</div>
</fieldset>
</x-popover>
</div>
<div class="flex gap-2">
<div><span class="font-bold">Families:</span> {{ count($families) }}</div>
<div><span class="font-bold">Genera:</span> {{ count($genera) }}</div>
<div><span class="font-bold">Species:</span> {{ count($species) }}</div>
<div><span class="font-bold">Total Taxa:</span>{{ count($taxons) }}</div>
</div>
</div>
<div>
@php $previous @endphp
@foreach ($taxons as $taxon)
@if($loop->first || $taxons[$loop->index - 1]->family !== $taxon->family)
<div class="text-lg font-bold">{{ $taxon->family }}</div>
@endif
<div class="pl-4">
<x-link class="text-base" href="{{ url('taxon/' . $taxon->tid) }}">{{ $taxon->sciname }}</x-link>
<i class="ml-4 fa-solid fa-list"></i>
</div>
@endforeach
</div>
</x-layout>

0 comments on commit fb6a8c8

Please sign in to comment.