Notebooks/REST/Resource Browser: UI polish and perf#87
Merged
Conversation
Notebook editor: - Cells: always-visible Send/Run buttons (no hover gating). - REST/SQL/ViewDefinition/SQLQuery/Markdown cell headers get icons; REST cell drops Raw/Params/Headers tabs (always raw); Markdown cell drops Edit/Preview tabs (always edit). - Default REST snippet includes Content-Type/Accept JSON headers. - Cell delete button moves to the right, neutral gray. - Header gets a Preview toggle that opens a resizable read-only pane, mirroring ResourceEditor's split (Save/Delete left, Preview/X right). Multi-result panel (notebooks SQL cell, db-console, ViewDefinition): - Vertical resizable stack replaced with browser-style tabs (HSComp.Tabs variant="browser" + TabsBrowserList). - Per-tab indicators: row count for success, AlertCircle + "error" for failure; dropdown picker for overflow with scroll-to-tab on select. Resource Browser (/u/resource): - Virtualized list via @tanstack/react-virtual. - React.memo(ItemCard) + stable useCallback handlers — focus changes re-render only the previously/newly focused row. - Local input state + useDeferredValue + 200 ms debounced URL sync so typing is not blocked by Fuse search on hundreds of items. - Chips collapse to a single blue style. - StructureDefinition search adds &abstract=false. REST console: - Drop 200 ms transition-[flex-grow] animation when toggling the left sidebar; expand/collapse is instant. Notebooks index: - React.memo(NotebookRow), useCallback(addTag), virtualized list. Bumps @health-samurai/react-components submodule with the trackpad horizontal-wheel scroll fix used by the SQL cell result tabs.
Bumps @health-samurai/react-components so REST console and SQL result panel both get a non-rounded dropdown trigger with a left border. Drops the now-redundant local CSS overrides in result-content.
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
Content-Type: application/json+Accept: application/json; Markdown cell drops Edit/Preview tabs; delete button moves to the right with neutral gray; header gains a Preview toggle that opens a resizable read-only pane mirroring ResourceEditor split.Tabs variant="browser"+TabsBrowserList) — per-tab row count, error indicator, dropdown picker with scroll-into-view./u/resource): virtualized list,React.memo(ItemCard)+ stable callbacks, local-input +useDeferredValue+ 200 ms debounced URL sync (search input no longer blocks on Fuse over hundreds of items), single blue chip style,&abstract=falseadded to the StructureDefinition search.transition-[flex-grow]animation).React.memo(NotebookRow),useCallback(addTag), virtualized list.@health-samurai/react-componentscarries the trackpad horizontal-wheel scroll fix used by the SQL cell result tabs.Test plan
/u/resource: type in search — input stays responsive; chips render in blue; result list is virtualized; URL updates ~200 ms after last keystroke./u/rest: toggle left sidebar — opens/closes instantly without animation./u/notebooks: scrolling and focus navigation works the same as before with virtualization.