Skip to content

feat: Add manifest-driven table UI#1136

Open
djrarky wants to merge 2 commits into
m3ue:masterfrom
djrarky:feature/manifest-plugin-table-ui
Open

feat: Add manifest-driven table UI#1136
djrarky wants to merge 2 commits into
m3ue:masterfrom
djrarky:feature/manifest-plugin-table-ui

Conversation

@djrarky
Copy link
Copy Markdown
Contributor

@djrarky djrarky commented May 17, 2026

Summary

Adds a generic plugin framework extension for rendering plugin-owned database tables from plugin.json declarations.

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

  • Added schema.ui_tables support to plugin manifests.
  • Added a generic plugin table page for create/edit/delete table records.
  • Added PluginUiTableRegistry to centralise table lookup, ownership checks, prefill handling, JSON casts, and lookup options.
  • Added PluginTableRecord as a lightweight dynamic Eloquent model for plugin-owned tables.
  • Added table_select field support so plugin forms can select records from declared/plugin-owned tables.
  • Added a Data tab on plugin edit pages linking to any declared table UIs.
  • Extended manifest validation for declared table UIs and table_select fields.
  • Added regression coverage for grouped plugin settings and declared table UIs.

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

  • Pint passed for touched files.
  • PHP syntax checks passed.
  • Plugin validation passed.
  • Focused test suite passed: 29 passed, 202 assertions.
  • plugins:doctor reports healthy.
  • plugins:discover finds canonical-channel-guardian [valid].

@djrarky djrarky force-pushed the feature/manifest-plugin-table-ui branch from 7c79287 to d96c843 Compare May 17, 2026 06:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant