teguh02 / indonesia-territory-forms
Display a Indonesia Territory Select Form For Filament Within the Zip-Code Without Any Seeder Needed
Fund package maintenance!
teguh02
Requires
- php: ^8.1
- filament/forms: ^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
Features
- ✅ Indonesia Territory Including: Province, City, District, Sub-Disctrict and Zip Code
- ✅ Cached Query To Make The Form More Faster
- ✅ Ready to Use
- ✅ No Needed Any Seeder
Screenshoot
Demo
Installation
You can install the package via composer:
composer require teguh02/indonesia-territory-forms
You can publish the config file with:
php artisan vendor:publish --tag="indonesia-territory-forms-config"
Optionally, you can publish the langs using
php artisan vendor:publish --tag=indonesia-territory-forms-lang
Usage
Components or Custom Page
For use this package on your component or custom page, you can see this form scheme sample below
use Teguh02\IndonesiaTerritoryForms\IndonesiaTerritoryForms; public static function form(Form $form): Form { return $form ->schema([ // ... your fields here // Call the form IndonesiaTerritoryForms::make(), // ... your fields here ]); }
Migration
If you want to add several column to store the data, you can make a new column according with your config forms_name (you can't make a column with different name in forms_name). For example please see this code below
Schema::create('users', function (Blueprint $table) { $table->id(); $table->unsignedBigInteger('province_id')->nullable(); $table->unsignedBigInteger('city_id')->nullable(); $table->unsignedBigInteger('district_id')->nullable(); $table->unsignedBigInteger('subdistrict_id')->nullable(); $table->unsignedBigInteger('postal_code')->nullable(); // Your another columns $table->string('name'); $table->string('email')->unique(); });
But you have still can make dynamicaly the migration column name using IndonesiaTerritoryForms
class in your migration below.
Schema::create('users', function (Blueprint $table) { $table->id(); IndonesiaTerritoryForms::make_Columns($table); // Your another columns $table->string('name'); $table->string('email')->unique(); });
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.