feat: Add manifest-driven table UI#1136
Open
djrarky wants to merge 2 commits into
Open
Conversation
7c79287 to
d96c843
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Adds a generic plugin framework extension for rendering plugin-owned database tables from
plugin.jsondeclarations.This lets plugins declare simple table management screens without adding plugin-specific Filament resources or hard-coded host logic. The host remains generic: m3u-editor reads
schema.ui_tables, validates the declaration, and renders the table/form UI through reusable Filament components.What changed
schema.ui_tablessupport to plugin manifests.PluginUiTableRegistryto centralise table lookup, ownership checks, prefill handling, JSON casts, and lookup options.PluginTableRecordas a lightweight dynamic Eloquent model for plugin-owned tables.table_selectfield support so plugin forms can select records from declared/plugin-owned tables.table_selectfields.Design notes
This intentionally avoids plugin-specific m3u-editor code. Plugins declare the shape of their admin tables in the manifest, and m3u-editor renders them using generic Filament table/form primitives.
Testing
29 passed,202 assertions.plugins:doctorreports healthy.plugins:discoverfindscanonical-channel-guardian [valid].