Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
33 changes: 26 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# A Filament field that allows users to click and point to mark references on an image.
# A Filament 5 field that allows users to click and point to mark references on an image.

[![Latest Version on Packagist](https://img.shields.io/packagist/v/ruelluna/canvas-pointer.svg?style=flat-square)](https://packagist.org/packages/ruelluna/canvas-pointer)
[![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/ruelluna/canvas-pointer/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/ruelluna/canvas-pointer/actions?query=workflow%3Arun-tests+branch%3Amain)
[![GitHub Code Style Action Status](https://img.shields.io/github/actions/workflow/status/ruelluna/canvas-pointer/fix-php-code-styling.yml?branch=main&label=code%20style&style=flat-square)](https://github.com/ruelluna/canvas-pointer/actions?query=workflow%3A"Fix+PHP+code+styling"+branch%3Amain)
[![Total Downloads](https://img.shields.io/packagist/dt/ruelluna/canvas-pointer.svg?style=flat-square)](https://packagist.org/packages/ruelluna/canvas-pointer)
[![Latest Version on Packagist](https://img.shields.io/packagist/v/wraps/canvas-pointer.svg?style=flat-square)](https://packagist.org/packages/wraps/canvas-pointer)
[![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/wraps/canvas-pointer/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/wraps/canvas-pointer/actions?query=workflow%3Arun-tests+branch%3Amain)
[![GitHub Code Style Action Status](https://img.shields.io/github/actions/workflow/status/wraps/canvas-pointer/fix-php-code-styling.yml?branch=main&label=code%20style&style=flat-square)](https://github.com/wraps/canvas-pointer/actions?query=workflow%3A"Fix+PHP+code+styling"+branch%3Amain)
[![Total Downloads](https://img.shields.io/packagist/dt/wraps/canvas-pointer.svg?style=flat-square)](https://packagist.org/packages/wraps/canvas-pointer)

<img src="https://raw.githubusercontent.com/ruelluna/canvas-pointer/main/main.jpg" class="filament-hidden">
<img src="https://raw.githubusercontent.com/wraps/canvas-pointer/main/main.jpg" class="filament-hidden">

I have used it for a client that needs visual reprensentations to where the pains are located in the body. What is your use case? This field will produce a base-64 image and automatically convert it to a file stored in your configured storage disk, returning the URL to the image.

Expand All @@ -14,13 +14,32 @@ I have used it for a client that needs visual reprensentations to where the pain
You can install the package via composer:

```bash
composer require ruelluna/canvas-pointer
composer require wraps/canvas-pointer
```

This package targets Filament `^5.0`.

If you want to register the plugin in your panel:

```php
use Filament\Panel;
use Wraps\CanvasPointer\CanvasPointerPlugin;

public function panel(Panel $panel): Panel
{
return $panel
->plugins([
CanvasPointerPlugin::make(),
]);
}
```


## Usage

```php
use Wraps\CanvasPointer\Forms\Components\CanvasPointerField;

CanvasPointerField::make('body-points')
->pointRadius(15) // default is 5
->imageUrl('your image source')
Expand Down
26 changes: 13 additions & 13 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
{
"name": "ruelluna/canvas-pointer",
"name": "wraps/canvas-pointer",
"description": "A Filament field that allows users to click and point markers on an image.",
"keywords": [
"RuelLuna",
"laravel",
"canvas-pointer"
],
"homepage": "https://github.com/ruelluna/canvas-pointer",
"homepage": "https://github.com/wraps/canvas-pointer",
"support": {
"issues": "https://github.com/ruelluna/canvas-pointer/issues",
"source": "https://github.com/ruelluna/canvas-pointer"
"issues": "https://github.com/wraps/canvas-pointer/issues",
"source": "https://github.com/wraps/canvas-pointer"
},
"license": "MIT",
"authors": [
Expand All @@ -20,15 +20,15 @@
}
],
"require": {
"php": "^8.1",
"filament/filament": "^3.0|^4.0",
"php": "^8.2",
"filament/filament": "^5.0",
"spatie/laravel-package-tools": "^1.15.0"
},
"require-dev": {
"laravel/pint": "^1.0",
"nunomaduro/collision": "^8.0",
"nunomaduro/larastan": "^3.0",
"orchestra/testbench": "^9.0",
"larastan/larastan": "^3.0",
"orchestra/testbench": "^10.0",
"pestphp/pest": "^3.0",
"pestphp/pest-plugin-arch": "^3.0",
"pestphp/pest-plugin-laravel": "^3.0",
Expand All @@ -39,13 +39,13 @@
},
"autoload": {
"psr-4": {
"RuelLuna\\CanvasPointer\\": "src/",
"RuelLuna\\CanvasPointer\\Database\\Factories\\": "database/factories/"
"Wraps\\CanvasPointer\\": "src/",
"Wraps\\CanvasPointer\\Database\\Factories\\": "database/factories/"
}
},
"autoload-dev": {
"psr-4": {
"RuelLuna\\CanvasPointer\\Tests\\": "tests/"
"Wraps\\CanvasPointer\\Tests\\": "tests/"
}
},
"scripts": {
Expand All @@ -65,10 +65,10 @@
"extra": {
"laravel": {
"providers": [
"RuelLuna\\CanvasPointer\\CanvasPointerServiceProvider"
"Wraps\\CanvasPointer\\CanvasPointerServiceProvider"
],
"aliases": {
"CanvasPointer": "RuelLuna\\CanvasPointer\\Facades\\CanvasPointer"
"CanvasPointer": "Wraps\\CanvasPointer\\Facades\\CanvasPointer"
}
}
},
Expand Down
2 changes: 1 addition & 1 deletion src/CanvasPointerPlugin.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace RuelLuna\CanvasPointer;
namespace Wraps\CanvasPointer;

use Filament\Contracts\Plugin;
use Filament\Panel;
Expand Down
29 changes: 9 additions & 20 deletions src/CanvasPointerServiceProvider.php
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
<?php

namespace RuelLuna\CanvasPointer;
namespace Wraps\CanvasPointer;

use Filament\Support\Assets\AlpineComponent;
use Filament\Support\Assets\Asset;
use Filament\Support\Assets\Css;
use Filament\Support\Assets\Js;
use Filament\Support\Facades\FilamentAsset;
use Filament\Support\Facades\FilamentIcon;
use Illuminate\Filesystem\Filesystem;
use Livewire\Features\SupportTesting\Testable;
use RuelLuna\CanvasPointer\Testing\TestsCanvasPointer;
use Wraps\CanvasPointer\Testing\TestsCanvasPointer;
use Spatie\LaravelPackageTools\Commands\InstallCommand;
use Spatie\LaravelPackageTools\Package;
use Spatie\LaravelPackageTools\PackageServiceProvider;
Expand All @@ -35,7 +32,7 @@ public function configurePackage(Package $package): void
->publishConfigFile()
->publishMigrations()
->askToRunMigrations()
->askToStarRepoOnGitHub('ruelluna/canvas-pointer');
->askToStarRepoOnGitHub('wraps/canvas-pointer');
});

$configFileName = $package->shortName();
Expand All @@ -57,7 +54,10 @@ public function configurePackage(Package $package): void
}
}

public function packageRegistered(): void {}
public function packageRegistered(): void
{
//
}

public function packageBooted(): void
{
Expand All @@ -72,9 +72,6 @@ public function packageBooted(): void
$this->getAssetPackageName()
);

// Icon Registration
FilamentIcon::register($this->getIcons());

// Handle Stubs
if (app()->runningInConsole()) {
foreach (app(Filesystem::class)->files(__DIR__ . '/../stubs/') as $file) {
Expand All @@ -85,12 +82,12 @@ public function packageBooted(): void
}

// Testing
Testable::mixin(new TestsCanvasPointer);
Testable::mixin(new TestsCanvasPointer());
}

protected function getAssetPackageName(): ?string
{
return 'ruelluna/canvas-pointer';
return 'wraps/canvas-pointer';
}

/**
Expand All @@ -116,14 +113,6 @@ protected function getCommands(): array
];
}

/**
* @return array<string>
*/
protected function getIcons(): array
{
return [];
}

/**
* @return array<string>
*/
Expand Down
6 changes: 3 additions & 3 deletions src/Facades/CanvasPointer.php
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
<?php

namespace RuelLuna\CanvasPointer\Facades;
namespace Wraps\CanvasPointer\Facades;

use Illuminate\Support\Facades\Facade;

/**
* @see \RuelLuna\CanvasPointer\CanvasPointer
* @see \Wraps\CanvasPointer\CanvasPointer
*/
class CanvasPointer extends Facade
{
protected static function getFacadeAccessor()
{
return \RuelLuna\CanvasPointer\CanvasPointer::class;
return \Wraps\CanvasPointer\CanvasPointer::class;
}
}
2 changes: 1 addition & 1 deletion src/Forms/Components/CanvasPointerField.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace RuelLuna\CanvasPointer\Forms\Components;
namespace Wraps\CanvasPointer\Forms\Components;

use Filament\Forms\Components\Field;
use Illuminate\Support\Facades\Storage;
Expand Down
2 changes: 1 addition & 1 deletion src/Testing/TestsCanvasPointer.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace RuelLuna\CanvasPointer\Testing;
namespace Wraps\CanvasPointer\Testing;

use Livewire\Features\SupportTesting\Testable;

Expand Down
2 changes: 1 addition & 1 deletion tests/Pest.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?php

use RuelLuna\CanvasPointer\Tests\TestCase;
use Wraps\CanvasPointer\Tests\TestCase;

uses(TestCase::class)->in(__DIR__);
20 changes: 3 additions & 17 deletions tests/TestCase.php
Original file line number Diff line number Diff line change
@@ -1,21 +1,14 @@
<?php

namespace RuelLuna\CanvasPointer\Tests;
namespace Wraps\CanvasPointer\Tests;

use BladeUI\Heroicons\BladeHeroiconsServiceProvider;
use BladeUI\Icons\BladeIconsServiceProvider;
use Filament\Actions\ActionsServiceProvider;
use Filament\FilamentServiceProvider;
use Filament\Forms\FormsServiceProvider;
use Filament\Infolists\InfolistsServiceProvider;
use Filament\Notifications\NotificationsServiceProvider;
use Filament\Support\SupportServiceProvider;
use Filament\Tables\TablesServiceProvider;
use Filament\Widgets\WidgetsServiceProvider;
use Illuminate\Database\Eloquent\Factories\Factory;
use Livewire\LivewireServiceProvider;
use Orchestra\Testbench\TestCase as Orchestra;
use RuelLuna\CanvasPointer\CanvasPointerServiceProvider;
use Wraps\CanvasPointer\CanvasPointerServiceProvider;
use RyanChandler\BladeCaptureDirective\BladeCaptureDirectiveServiceProvider;

class TestCase extends Orchestra
Expand All @@ -25,25 +18,18 @@ protected function setUp(): void
parent::setUp();

Factory::guessFactoryNamesUsing(
fn (string $modelName) => 'RuelLuna\\CanvasPointer\\Database\\Factories\\' . class_basename($modelName) . 'Factory'
fn (string $modelName) => 'Wraps\\CanvasPointer\\Database\\Factories\\' . class_basename($modelName) . 'Factory'
);
}

protected function getPackageProviders($app)
{
return [
ActionsServiceProvider::class,
BladeCaptureDirectiveServiceProvider::class,
BladeHeroiconsServiceProvider::class,
BladeIconsServiceProvider::class,
FilamentServiceProvider::class,
FormsServiceProvider::class,
InfolistsServiceProvider::class,
LivewireServiceProvider::class,
NotificationsServiceProvider::class,
SupportServiceProvider::class,
TablesServiceProvider::class,
WidgetsServiceProvider::class,
CanvasPointerServiceProvider::class,
];
}
Expand Down