teguh02/indonesia-territory-forms

Display a Indonesia Territory Select Form For Filament Within the Zip-Code Without Any Seeder Needed

v1.1 2024-09-15 01:46 UTC

This package is auto-updated.

Last update: 2024-10-15 01:56:45 UTC


README

Banner

Latest Version on Packagist Total Downloads

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

Screenshot1

Screenshot2

Screenshot3

Demo

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.