From 4e9e8a9d2d2bb5d6a1fa922038ea8cc9787cc2d7 Mon Sep 17 00:00:00 2001 From: InfinityXTech <100382372+InfinityXTech@users.noreply.github.com> Date: Sat, 18 Jan 2025 01:58:47 +0100 Subject: [PATCH] Updated docs --- README.md | 139 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 111 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 3f0a302..f94aef5 100644 --- a/README.md +++ b/README.md @@ -24,37 +24,120 @@ composer require infinityxtech/filament-world-map-widget php artisan make:filament-map-widget MapWidget ``` +## Available maps + +```php +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 ```php -public function stats () { - return [ - 'US' => 35000, - 'RS' => 15000 - ]; -} - -public function heading ():string|Htmlable|null { - return 'World Map'; -} - -public function tooltip ():string|Htmlable { - return 'stats'; -} - -public function map ():Map { - return Map::WORLD; -} - -public function color ():array { - return [0, 120, 215]; // rgb value -} - -public function height ():string; - -public function additionalOptions ():array { - return []; -} + /** + * 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. + +```php + 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](https://jvm-docs.vercel.app/docs/introduction)