feat: Saved Responses sidebar panel with search, filter, and CRUD#7
Merged
feat: Saved Responses sidebar panel with search, filter, and CRUD#7
Conversation
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 fully self-contained Saved Responses panel to the right sidebar, allowing users to browse, search, filter, rename, duplicate, and delete saved response examples without leaving the main editor view.
Changes
New:
saved_responsessub-package (saved_responses)SavedResponsesPanelwith list/detail splitter layout. Selecting a saved response displays its body (with Pretty/Raw toggle), headers, and request snapshot inline._PanelSearchFilterMixinadding body search (Ctrl+F, match highlighting, prev/next navigation) and structured filter (JSONPath for JSON, XPath for XML).Service & repository layer
CollectionService: new static methods —get_saved_responses(),get_saved_response(),save_response(),rename_saved_response(),delete_saved_response(),duplicate_saved_response().SavedResponseDictTypedDict for normalized saved response payloads.created_at DESC).Sidebar integration
RightSidebargains a floppy-disk icon rail button that toggles the Saved Responses flyout panel.MainWindowwires panel signals (save_current_requested,rename_requested,duplicate_requested,delete_requested,refresh_requested) and refreshes the panel on tab switch and after HTTP send.ResponseViewerWidgetemitssave_availability_changed(bool)so the sidebar can enable/disable "Save Current".UI polish
palette.highlightedText()for both name and metadata text (fixes invisible text on selection).status_color()added to theme for status-code badge colouring.objectNameselectors (savedResponseStatusBadge).Tests
test_saved_responses_panel.pycovering panel rendering, selection, context menus, search, filter, empty states, and delegate painting.test_service.pyfor saved response CRUD service methods.test_response_viewer.pyandtest_sidebar.pyfor new panel integration.