LaravelPackages.net
Acme Inc.
Toggle sidebar
pardalsalcap/linter-locations

Add on to Linter to manage Geolocations

13
0
v5.0.0
About pardalsalcap/linter-locations

pardalsalcap/linter-locations is a Laravel package for add on to linter to manage geolocations. It currently has 0 GitHub stars and 13 downloads on Packagist (latest version v5.0.0). Install it with composer require pardalsalcap/linter-locations. Discover more Laravel packages by pardalsalcap or browse all Laravel packages to compare alternatives.

Last updated

Linter Locations

pardalsalcap/linter-locations adds a geographic data model and Filament resources for continents, countries, communities, states, cities, and addresses.

It is designed to work as an add-on for Laravel applications that already use Filament.

Compatibility

  • PHP ^8.2
  • Laravel ^11.0|^12.0
  • Filament ^5.0

Installation

Install the package:

composer require pardalsalcap/linter-locations

Publish and run the migrations:

php artisan vendor:publish --tag="linter-locations-migrations"
php artisan migrate

Publish the config file if you want to adjust locales or search behavior:

php artisan vendor:publish --tag="linter-locations-config"

Default config:

return [
    'available_locales' => [
        'ca' => 'CatalĂ ',
        'es' => 'Castellano',
        'en' => 'English',
    ],
    'use_scoped_search' => true,
];

Install Command

The package ships with an install command:

php artisan linter-locations:install

The command asks for confirmation before each optional step:

  1. Populate the database with starter geographic data.
  2. Create the Filament resource wrappers inside your application.

If you confirm the resource step, the command creates these files in app/Filament/Resources when they do not already exist:

  • ContinentResource.php
  • CountryResource.php
  • CommunityResource.php
  • StateResource.php
  • CityResource.php
  • AddressResource.php

The generated classes extend the package resources, so you can start using them immediately and still customize them later in your app.

Filament Resources

The package provides base Filament resources for:

  • Continents
  • Countries
  • Communities
  • States
  • Cities
  • Addresses

The generated wrapper classes are intentionally minimal:

<?php

namespace App\Filament\Resources;

class ContinentResource extends \Pardalsalcap\LinterLocations\Resources\ContinentResource
{
}

If you prefer to create them manually, examples are available in resources/stubs.

Database Seeder Data

The install command can preload:

  • Continents
  • Countries
  • Spanish communities
  • Spanish states
  • Spanish cities

This gives a practical starting point for projects that need location data immediately.

Traits

HasAddresses

Use Pardalsalcap\LinterLocations\Traits\HasAddresses on any Eloquent model that should be linked to addresses.

Example:

use Illuminate\Database\Eloquent\Model;
use Pardalsalcap\LinterLocations\Traits\HasAddresses;

class User extends Model
{
    use HasAddresses;
}

Once applied, the model can attach, detach, and sync addresses through the provided relationship helpers.

Address Relation Manager

The package also includes AddressableRelationManager, which can be attached to your own Filament resources when the model uses HasAddresses.

Example:

<?php

namespace App\Filament\Resources;

use Filament\Resources\Resource;
use Pardalsalcap\LinterLocations\Resources\AddressResource\RelationManagers\AddressableRelationManager;

class UserResource extends Resource
{
    public static function getRelations(): array
    {
        return [
            AddressableRelationManager::class,
        ];
    }
}

Translations

You can publish the translation files with:

php artisan vendor:publish --tag="linter-locations-translations"

Published translations will be available under:

resources/lang/vendor/linter-locations

The package currently includes translation files for English and Spanish.

Credits

License

The MIT License (MIT). See LICENSE.md.

Comments