World Map Widget plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

World Map Widget

World map widget for statistics.

Tags: Widget
Supported versions:
3.x
InfinityXTech avatar Author: InfinityXTech

Documentation

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

image

#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() and map() 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.

The author

InfinityXTech avatar Author: InfinityXTech

I made a lot of amazing and life saving services via filament, and I will share them soon. But for now, I'll share some very useful free plugins that you may need.

Plugins
2
Stars
12

From the same author