ariaieboy/filament-currency

Bring back laravel-money formatter for Filament Text Column

Fund package maintenance!
ariaieboy

Installs: 120 447

Dependents: 6

Suggesters: 0

Security: 0

Stars: 58

Watchers: 2

Forks: 12

Open Issues: 0

Language:Blade


README

filament currency Latest Version on Packagist GitHub Code Style Action Status Total Downloads

This package provides some macros for TextColumn, TextEntry and summerizer Average and Sum to format the money values using the laravel-money.

We also provide a currencyMask() method for TextInput and TextInputColumn to mask your numbers in front-end and return the plain number to back-end.

Text Column (Table Builder)

A new currency(string | Closure $currency = null, bool $shouldConvert = false) method to the TextColumn that uses the laravel-money to format currencies.

Summary (Table Builder)

The summarizer classes Summarizer, Sum and Average contains the method currency(string | Closure $currency = null, bool $shouldConvert = false) to display the value in the configured currency format.

Text Entry (InfoLists)

A new currency(string | Closure $currency = null, bool $shouldConvert = false) method to the TextEntry

Text Input (Form Builder)

We also have a currencyMask() method for TextInput that lets you mask your numbers in front-end and return the plain number to back-end.

Text Input Column (Table Builder)

We also have a currencyMask() method for TextInputColumn that lets you mask your numbers in front-end and return the plain number to back-end.

By using this package you can configure the formatter using laravel-money config.

For example, you can customize the symbol, symbol_first, decimal_mark, and thousands_separator for each currency. Or if you want you can add your custom currency to the config and use it in the currency() method instead of standard money.

Installation

You can install the package via Composer:

composer require ariaieboy/filament-currency

You can publish the laravel-money config file with:

php artisan vendor:publish --tag=money

Usage

\Filament\Tables\Columns\TextColumn::make('money')
    ->currency('USD');

\Filament\Tables\Columns\TextColumn::make('money')
    ->currency('USD')
    ->summarize(\Filament\Tables\Columns\Summarizers\Sum::make()->currency());

\Filament\Tables\Columns\TextColumn::make('money')
    ->currency('USD')
    ->summarize(\Filament\Tables\Columns\Summarizers\Average::make()->currency());

\Filament\Infolists\Components\TextEntry::make('money')
    ->currency('USD');

\Filament\Forms\Components\TextInput::make('money')
    ->currencyMask(thousandSeparator: ',',decimalSeparator: '.',precision: 2)

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.