oskar-mikael/livewire-dirty-state

There is no license information available for the latest version (0.2) of this package.

Implement a smarter dirty state to your Livewire components

0.2 2025-03-07 14:52 UTC

This package is auto-updated.

Last update: 2025-07-07 15:45:00 UTC


README

Latest Stable Version License

Implements dirty states to your Livewire component, and automatically prompts your frontend on page refreshes.

Requirements

  • PHP >= 8.1
  • Livewire ^3.6

Installation

composer require oskar-mikael/livewire-dirty-state

Usage

Example

<?php

namespace App\Livewire;

use Livewire\Component;
use OskarMikael\LivewireDirtyState\WithDirtyState;

class TestComponent extends Component
{
    use WithDirtyState;

    public string $name;

    public string $email;

    public function render()
    {
        return view('livewire.test-component');
    }
}

State will be made dirty upon a property values' updated.

Manually update the dirty state

// Set state to dirty
$this->setDirty()

// Remove dirty state
$this->setDirty(false)

Ignore dirty state on individual properties

By default, all properties will update the dirty state, but if you'd one or more properties not to do so, you can apply the IgnoreDirtyState attribute to the property.

#[IgnoreDirtyState]
public string $name;

Useful Tools

Running Tests:

php vendor/bin/phpunit

or

composer test

Contributing

  1. Fork it.
  2. Create your feature branch (git checkout -b my-new-feature).
  3. Make your changes.
  4. Run the tests, adding new ones for your own code if necessary (phpunit).
  5. Commit your changes (git commit -am 'Added some feature').
  6. Push to the branch (git push origin my-new-feature).
  7. Create new pull request.

License

The MIT License (MIT). License File