infinityxtech / filament-world-map-widget
World map stats widget
Fund package maintenance!
InfinityXTech
Requires
- php: ^8.1
- filament/filament: ^3.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- nunomaduro/collision: ^7.9
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.1
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
README
Installation
You can install the package via composer:
composer require infinityxtech/filament-world-map-widget
Usage
php artisan make:filament-map-widget MapWidget
Available maps
Map::WORLD Map::WORLD_MERC Map::US_MILL_EN Map::US_MERC_EN Map::US_LCC_EN Map::US_AEA_EN Map::SPAIN Map::RUSSIA Map::CANADA Map::IRAQ Map::BRASIL
Available methods
/** * Returns the stats to be displayed on the map. * Keys represent country codes, and values are the associated data points. * * @return array */ public function stats(): array { return [ 'US' => 35000, // Data for the United States 'RS' => 15000 // Data for Serbia ]; } /** * Provides the heading text for the widget. * * @return string|Htmlable|null The heading text or HTML content. */ public function heading(): string|Htmlable|null { return 'World Map'; // Default heading for the widget } /** * Provides the tooltip text for the widget. * * @return string|Htmlable Tooltip content or HTML. */ public function tooltip(): string|Htmlable { return 'stats'; // Tooltip text displayed on hover } /** * Defines the map type to be displayed. * * @return Map|string The map type, defaults to the WORLD map. */ public function map(): Map|string { return Map::WORLD; // Enum value for the world map } /** * Provides a custom URL for the map data, if any. * * @return string|null The custom map URL or null if not provided. */ public function customMapUrl(): ?string { return null; // No custom map URL by default } /** * Specifies the RGB color values for the map. * * @return array The RGB color values as an array [R, G, B]. */ public function color(): array { return [0, 120, 215]; // Default blue color for the map } /** * Specifies the height of the widget container. * * @return string The height value in CSS-compatible format. */ public function height(): string { return '332px'; // Default widget height } /** * Additional configuration options for the widget. * * @return array An array of additional options. */ public function additionalOptions(): array { return []; // No additional options by default }
- To include custom map, you will need to make a url accessible js file that you can set with
customMapUrl()
andmap()
with custom naming.
public function map (): Map|string { return 'custom-map'; } public function customMapUrl (): ?string { return 'https://example.test/js/custom-map.js'; }
For more additional options check: Jsvectormap
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.