Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Ordered Form Bundle Laravel Package

becklyn/ordered-form-bundle

View on GitHub
Deep Wiki
Context7

Ordered Form Bundle

A bundle that makes form fields sortable.

Installation

composer require becklyn/ordered-form-bundle

Usage

This bundle adds a new form option called position:

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;

class SomeForm extends AbstractType
{
    /**
     * @inheritDoc
     */
    public function buildForm (FormBuilderInterface $builder, array $options) : void
    {
        $builder
            ->add("field", null, [
                "position" => /* some value */
            ]);
    }
}

The supported values are:

Value Description
"position" => "first" Places the element as the first element in the form.
"position" => "last" Places the element as the last element in the form.
"position" => 42 A simple sort order (the lower the number, the more at the top it is). Works with any integer.
"position" => ["before" => "otherfield"] Places the field before another one.
"position" => ["after" => "otherfield"] Places the field after another one.

Caveats

This bundle focuses on speed, so the sorting is not perfect. As it is pretty easy to create a conflicting, this bundle tries a best-effort sorting, but this implies:

  • A first field isn't guaranteed to be the first one (eg. if there are multiple first).
  • before and after only guarantee the relative order, not how big the distance is between these fields (it tries to place them immediately next to each other).

If the configuration of the form is sensible and conflict-free, then the order will work as expected.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours