public static function getListingFields(RepositoryInterface $table): array
    {
        // broadcast event to fetch display fields
        $event = new Event((string)EventName::MODEL_SEARCH_DISPLAY_FIELDS(), null, [
            'table' => $table
        ]);
        EventManager::instance()->dispatch($event);

        $result = (array)$event->result;

        if (empty($result)) {
            $result = static::getDefaultDisplayFields($table);
        }

        $result = array_diff($result, static::getSkippedDisplayFields($table, true));

        // reset numeric indexes
        return array_values($result);
    }