Pagination error with widget List

Hy,

I have this code to display orders list (offline.mall) in rainlab user form, all works well except the pagination, i have this error “A widget with the class name “ordersList” has not been bound to the controller”

This is my code:

UsersController::extend(function ($controller) {
            $controller->addDynamicMethod('ordersListWidget', function($user) use ($controller) {
                $config = $controller->makeConfig('$/lcgpro/extenduser/config/order_columns.yaml');
                $config->model = new \Offline\Mall\Models\Order;
                $config->alias = 'ordersList';
                $config->recordsPerPage = 10;
                $config->recordUrl = 'offline/mall/orders/show/:id';
                $config->controller = $controller;
                $widget = $controller->makeWidget(\Backend\Widgets\Lists::class, $config);
                $widget->bindToController();
                $widget->bindEvent('list.extendQueryBefore', function ($query) use ($user) {
                    if (!$user || !($user instanceof \RainLab\User\Models\User)) {
                        $query->whereRaw('1 = 0');
                        return;
                    }
                    $customerIds = \DB::table('offline_mall_customers')
                        ->where('user_id', $user->id)
                        ->pluck('id')
                        ->toArray();
                    if (empty($customerIds)) {
                        $query->whereRaw('1 = 0');
                    } else {
                        $query->whereIn('customer_id', $customerIds);
                    }
                });
                return $widget;
            });
        });

and this the partial:


<div class="layout" id="orders-list-container">
    <div class="layout-row">
        <?php
        try {
            if (!$formModel || !$formModel->id) {
        echo '<p class="text-warning">No user loaded yet.</p>';
        } else {
        $user = \RainLab\User\Models\User::find($formModel->id);

        if ($user) {
        $widget = $this->ordersListWidget($user);

        ?>
        <input type="hidden" name="user_id" value="<?= $user->id ?>" />
        <?= $widget->render() ?>
        <?php
                } else {
                    echo '<p class="text-danger">User not found.</p>';
        }
        }
        } catch (\Throwable $e) {
        echo '<div class="callout callout-danger">';
            echo '<h4>Error rendering orders list</h4>';
            echo '<p><strong>Message:</strong> ' . htmlspecialchars($e->getMessage()) . '</p>';
            echo '</div>';
        }
        ?>
    </div>
</div>

Does anyone have any idea what the mistake is?

Thanks