feat: make actor table columns filterable #2704
Open
+106
−127
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The Following table is not filterable by the default WordPress filters like
"manage_{$post_type}_posts_columns". Thats why this PR introduces custom filters. I wonder whether passing the whole table instance as a filter parameter is too much, maybe just$this->user_idis sufficient.Background:
The idea came up while porting the "Event Sources" feature of the "Event Bridge For ActivityPub" to the new following structure. I wanted to add a boolean switch to import remote events to the sites calendar, to not do so from all followings but the selected ones. My intuition was to avoid having to manage this feature on two pages (one for adding the following, and a second one for activating existing followings).
@pfefferle I created this new PR in favor of #2702. This time with changelog and correct branch name! Your (contribution) docs improved quite a bit since I last contributed, I must honor that :)
More ideas:
I found that more code within the admin tables is quite similar. Maybe using a abstract class for all admin-tables would be the cleanest option? That could also offer to e.g. get rid of the "actor_list_table_key" functions, as the abstract class could enfore setting a key-property in the table class. I guess quite some code is duplicated here, using parent:: might be handy in some places. Or all use the property user_id, etc.