Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
f8494e1
chore: upgrade Filament to v4 - core dependency updates
vcnainala Nov 27, 2025
5427011
chore: upgrade Filament to v4 - provider configuration updates
vcnainala Nov 27, 2025
5aa8fbd
chore: upgrade Filament to v4 - update dashboard resources
vcnainala Nov 27, 2025
fcb4b9c
chore: upgrade Filament to v4 - update User and License resources
vcnainala Nov 27, 2025
3c71974
fix: component compatibility issues for Filament v4
vcnainala Nov 27, 2025
1fb711a
chore: upgrade Filament to v4 - update frontend assets
vcnainala Nov 27, 2025
554ea03
chore: upgrade Filament to v4 - update Livewire views and resources
vcnainala Nov 27, 2025
e86babd
Apply Pint formatting changes
vcnainala Nov 27, 2025
333d4ea
Improve Collection resource user experience
vcnainala Nov 27, 2025
3388451
feat: Install Filament Spotlight Pro package
vcnainala Nov 27, 2025
2cfbba9
feat: Configure Filament Spotlight Pro for both panels
vcnainala Nov 27, 2025
301d438
feat: Add custom Spotlight search button to navbar
vcnainala Nov 27, 2025
d73ce1d
fix: Update panel switch icon dark mode styling
vcnainala Nov 27, 2025
20bfaaa
fix: Resolve SQL ambiguous column error in GeoLocationStats
vcnainala Nov 27, 2025
36a98e0
feat: Improve GeoLocation list page UX
vcnainala Nov 27, 2025
d9292ee
feat: Add Molecules relation manager to GeoLocation view
vcnainala Nov 27, 2025
078e19a
feat: Add migration for enhanced geographic data fields
vcnainala Nov 27, 2025
cdfa46d
feat: Enhance GeoLocation with geographic data and rinvex/countries i…
vcnainala Nov 27, 2025
ebe1cd7
feat(organisms): add preset views for inactive and unmapped organisms
vcnainala Nov 27, 2025
e831826
fix(organisms): correct isObsolete boolean check and family rank mapping
vcnainala Nov 27, 2025
3c553b7
feat(organisms): enhance organisms table with molecule count and IRI
vcnainala Nov 27, 2025
bb6820e
feat(organisms): add multi-source taxonomy search with modal selection
vcnainala Nov 27, 2025
e5f36c7
feat(organisms): redesign similar organisms UI
vcnainala Nov 27, 2025
c615a28
style(organisms): set full width for create/edit organism pages
vcnainala Nov 27, 2025
9bfa4d0
feat(organisms): click table rows to open view instead of edit
vcnainala Nov 28, 2025
30d095d
feat(organisms): improve similar organisms query
vcnainala Nov 28, 2025
441d1c0
feat(organisms): add merge functionality for similar organisms
vcnainala Nov 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions app/Console/Commands/MapOrganismNamesToOGG.php
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public function handle()
} else {
$data = $this->getOLSIRI(explode(' ', $name)[0], 'family');
if ($data) {
$this->updateOrganismModel($name, $data, $organism, 'genus');
$this->updateOrganismModel($name, $data, $organism, 'family');
$this->info("Mapped and updated: $name");
} else {
$this->getGNFMatches($name, $organism);
Expand Down Expand Up @@ -155,7 +155,7 @@ protected function getOLSIRI($name, $rank)
if (isset($data['elements']) && count($data['elements']) > 0) {

$element = $data['elements'][0];
if (isset($element['iri'], $element['ontologyId']) && $element['isObsolete'] === 'false') {
if (isset($element['iri'], $element['ontologyId']) && $element['isObsolete'] === false) {
if ($rank && $rank == 'species') {
if (isset($element['http://purl.obolibrary.org/obo/ncbitaxon#has_rank']) && $element['http://purl.obolibrary.org/obo/ncbitaxon#has_rank'] == 'http://purl.obolibrary.org/obo/NCBITaxon_species') {
return urlencode($element['iri']);
Expand Down Expand Up @@ -188,6 +188,10 @@ protected function updateOrganismModel($name, $iri, $organism = null, $rank = nu
if ($organism) {
$organism->iri = $iri;
$organism->rank = $rank;
// Auto-generate slug if not exists
if (! $organism->slug) {
$organism->slug = \Illuminate\Support\Str::slug($name);
}
$organism->save();
} else {
$this->error("Organism not found in the database: $name");
Expand Down
37 changes: 21 additions & 16 deletions app/Filament/Dashboard/Resources/CitationResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,17 @@

namespace App\Filament\Dashboard\Resources;

use App\Filament\Dashboard\Resources\CitationResource\Pages;
use App\Filament\Dashboard\Resources\CitationResource\Pages\CreateCitation;
use App\Filament\Dashboard\Resources\CitationResource\Pages\EditCitation;
use App\Filament\Dashboard\Resources\CitationResource\Pages\ListCitations;
use App\Filament\Dashboard\Resources\CitationResource\RelationManagers\CollectionRelationManager;
use App\Filament\Dashboard\Resources\CitationResource\RelationManagers\MoleculeRelationManager;
use App\Models\Citation;
use Filament\Forms\Form;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Schemas\Schema;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
use Illuminate\Support\Facades\Cache;
Expand All @@ -17,20 +21,20 @@

class CitationResource extends Resource
{
protected static ?string $navigationGroup = 'Data';
protected static string|\UnitEnum|null $navigationGroup = 'Data';

protected static ?string $model = Citation::class;

protected static ?string $recordTitleAttribute = 'title';

protected static ?int $navigationSort = 2;

protected static ?string $navigationIcon = 'heroicon-o-ticket';
protected static string|\BackedEnum|null $navigationIcon = 'heroicon-o-ticket';

public static function form(Form $form): Form
public static function form(Schema $schema): Schema
{
return $form
->schema(Citation::getForm());
return $schema
->components(Citation::getForm());
}

public static function table(Table $table): Table
Expand All @@ -47,12 +51,13 @@ public static function table(Table $table): Table
->filters([
//
])
->actions([
Tables\Actions\EditAction::make(),
->recordActions([
EditAction::make()
->iconButton(),
])
->bulkActions([
Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
->toolbarActions([
BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]);
}
Expand All @@ -69,9 +74,9 @@ public static function getRelations(): array
public static function getPages(): array
{
return [
'index' => Pages\ListCitations::route('/'),
'create' => Pages\CreateCitation::route('/create'),
'edit' => Pages\EditCitation::route('/{record}/edit'),
'index' => ListCitations::route('/'),
'create' => CreateCitation::route('/create'),
'edit' => EditCitation::route('/{record}/edit'),
];
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
namespace App\Filament\Dashboard\Resources\CitationResource\Pages;

use App\Filament\Dashboard\Resources\CitationResource;
use Filament\Actions;
use Filament\Actions\DeleteAction;
use Filament\Resources\Pages\EditRecord;

class EditCitation extends EditRecord
Expand All @@ -13,7 +13,7 @@ class EditCitation extends EditRecord
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
DeleteAction::make(),
];
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
namespace App\Filament\Dashboard\Resources\CitationResource\Pages;

use App\Filament\Dashboard\Resources\CitationResource;
use Filament\Actions;
use Filament\Actions\CreateAction;
use Filament\Resources\Pages\ListRecords;

class ListCitations extends ListRecords
Expand All @@ -13,7 +13,7 @@ class ListCitations extends ListRecords
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
CreateAction::make(),
];
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,23 @@

namespace App\Filament\Dashboard\Resources\CitationResource\RelationManagers;

use Filament\Forms\Form;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Tables;
use Filament\Schemas\Schema;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;

class CollectionRelationManager extends RelationManager
{
protected static string $relationship = 'collections';

public function form(Form $form): Form
public function form(Schema $schema): Schema
{
return $form
->schema([
return $schema
->components([
]);
}

Expand All @@ -23,20 +27,20 @@ public function table(Table $table): Table
return $table
->recordTitleAttribute('title')
->columns([
Tables\Columns\TextColumn::make('title')->wrap(),
TextColumn::make('title')->wrap(),
])
->filters([
//
])
->headerActions([
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
->recordActions([
EditAction::make(),
DeleteAction::make(),
])
->bulkActions([
Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
->toolbarActions([
BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,23 @@

namespace App\Filament\Dashboard\Resources\CitationResource\RelationManagers;

use Filament\Forms\Form;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Tables;
use Filament\Schemas\Schema;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;

class MoleculeRelationManager extends RelationManager
{
protected static string $relationship = 'molecules';

public function form(Form $form): Form
public function form(Schema $schema): Schema
{
return $form
->schema([
return $schema
->components([
]);
}

Expand All @@ -23,20 +27,20 @@ public function table(Table $table): Table
return $table
->recordTitleAttribute('name')
->columns([
Tables\Columns\TextColumn::make('name'),
TextColumn::make('name'),
])
->filters([
//
])
->headerActions([
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
->recordActions([
EditAction::make(),
DeleteAction::make(),
])
->bulkActions([
Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
->toolbarActions([
BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]);
}
Expand Down
Loading