HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/posscale/www/printmanager/vendor/filament/forms/src/Components/Concerns/HasFooterActions.php
<?php

namespace Filament\Forms\Components\Concerns;

use Closure;
use Filament\Forms\Components\Actions\Action;
use Filament\Support\Concerns\HasFooterActionsAlignment;
use Illuminate\Support\Arr;

trait HasFooterActions
{
    use HasFooterActionsAlignment;

    /**
     * @var array<Action> | null
     */
    protected ?array $cachedFooterActions = null;

    /**
     * @var array<Action | Closure>
     */
    protected array $footerActions = [];

    /**
     * @param  array<Action | Closure>  $actions
     */
    public function footerActions(array $actions): static
    {
        $this->footerActions = [
            ...$this->footerActions,
            ...$actions,
        ];

        return $this;
    }

    /**
     * @return array<Action>
     */
    public function getFooterActions(): array
    {
        return $this->cachedFooterActions ?? $this->cacheFooterActions();
    }

    /**
     * @return array<Action>
     */
    public function cacheFooterActions(): array
    {
        $this->cachedFooterActions = [];

        foreach ($this->footerActions as $footerAction) {
            foreach (Arr::wrap($this->evaluate($footerAction)) as $action) {
                $this->cachedFooterActions[$action->getName()] = $this->prepareAction($action);
            }
        }

        return $this->cachedFooterActions;
    }
}