feat(app): add read-only catalog customizations page#26
Open
paddymul wants to merge 2 commits into
Open
Conversation
List the project-wide Buckaroo customizations — summary stats, styling
classes, and post-processing functions — for a catalog, each expandable
to inspect its source.
Adds GET /{project}/api/customizations, which returns the three registries
via the existing tallyman_core list_stats / list_display_klasses /
list_post_processings helpers (the same ones the catalog_list_* MCP tools
use), including _disabled/ items flagged accordingly. The React SPA gets a
CustomizationsPage with a nav link; it refetches on SSE version bumps so
edits made via the MCP tools show up live.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… disabled badge Previously a fetch 500/404 and the pre-load state both rendered identically to a genuinely empty catalog (three "none defined" sections). Track explicit loading/error state: show "loading…" on first load and the server error in an .error-banner, while keeping current data on screen during SSE-driven refetches so a version bump no longer flashes the page. Swap the disabled badge off the blue accent .vchip (used elsewhere for informational version tags) to a muted outlined .cust-flag, consistent with the strikethrough/muted name. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
What
A read-only Catalog customizations page in the React app that lists the project-wide Buckaroo customizations for a catalog and lets you inspect the source of each:
def compute(col) -> ibis.Expr)ColAnalysissubclasses controlling table rendering / pinned rowsdef process(expr) -> ibis.Expr | DataFrame)These are global to the catalog (one set per project), not per-entry. Disabled (
_disabled/) items are listed and flagged.How
GET /{project}/api/customizationsreturns the three registries via the existingtallyman_corelist_stats/list_display_klasses/list_post_processingshelpers — the same ones thecatalog_list_*MCP tools use.CustomizationsPage(each item a collapsible<details>→<pre class="code">source),api.customizations(),Customizations/CustomizationItemtypes, route + nav link. Refetches on SSEversionbumps, so edits made via the MCP tools show up live.Read-only by design — CRUD already exists through the MCP tools.
Test plan
tsc --noEmitcleanapp.pyparses; endpoint wires existing, testedlist_*helpers/<project>/customizations, expand items, confirm source renders (couldn't boot the server locally — unrelated broken editablebuckaroodep path in the working tree)🤖 Generated with Claude Code