Support

Search results for ""

Sorry, no results found. Perhaps you would like to search the documentation?
All Topics
Andrew

API for using all the features but with our own grid table system?

So, I have been working heavily in React, TypeScript / Python and various others stacks inside WP/WC and wanted to create a better usage of the tables for large data sets. Trying to not go headless yet ….

But the native tables are just way to slow for any scale with ACP. In working with completely open no paywall license models, we wanted to create a connection to use an as you scroll progressive loading React / Python / Vue / Vite table model, there must be a better way than using these built in super outdated slow table models that are native to the framework.

We have built my own table models in React +++ and they work for even millions of records in seconds, so I know it can work, but the feature set can’t compare and to fork this app into my own is just not worth the efforts just to manage data.

We can’t be the only one for this need? We have looked into decoupling this plugin and seems like I would be forced into a fork at this time to use my own table manager.

Thoughts?

Kinda my idea >

<?php

declare(strict_types=1);

namespace ACP\Custom;

final class ModeResolver
{

    public const MODE_STANDARD = 'standard';

    public const MODE_ENTERPRISE = 'enterprise';

    public static function resolve(): string
    {
        // Emergency override to keep ACP on default behavior.
        if (defined('ACP_FORCE_STANDARD_MODE') && ACP_FORCE_STANDARD_MODE) {
            return self::MODE_STANDARD;
        }

        $mode = defined('ACP_MODE')
            ? (string)ACP_MODE
            : (string)get_option('acp_mode', self::MODE_STANDARD);

        $mode = strtolower(trim($mode));

        return in_array($mode, [self::MODE_STANDARD, self::MODE_ENTERPRISE], true)
            ? $mode
            : self::MODE_STANDARD;
    }
}

Standard mode keeps native ACP behavior. Enterprise mode enables Custom fork logic.

3 days, 11 hours ago
Stefan van den Dungen Gronovius
Developer

Hi,

Thanks for sharing your thoughts.

It might be worth looking into the WordPress DataViews component, which is being adopted more and more throughout WordPress:

@wordpress/dataviews

We even have an experimental branch where we’ve been testing DataViews ourselves. As you mention, these modern approaches can make pages feel much faster, especially when dealing with larger datasets.

That said, one of the reasons we built ACP on top of the native WordPress list tables is that it integrates very naturally with WordPress and other plugins. A large part of ACP’s functionality relies on that architecture and the hooks that WordPress provides around it.

While building a completely custom table experience is certainly a valid use case, it’s currently not the direction we’re pursuing. ACP is not designed as a headless data-management layer, and at the moment we don’t provide enough APIs or extension points to support replacing the entire table frontend while retaining ACP’s feature set.

If you’re looking to build a custom React/Vue-based data grid, I think DataViews is probably the most promising direction within the WordPress ecosystem today.

2 days, 18 hours ago