Align child items under section headers and add resizable sidebar panels
Details
Fix child item icon alignment in Views and AI Generated sections by
increasing left margin from 4 to 18px so icons align under the parent
section header icons (past the chevron). Replace StackPanel layout with
Grid + GridSplitters for independently resizable Datasets, Views, and
AI Generated sections. Each section scrolls within its own allocated
height. Section heights persist via IPluginSettings (DatasetsSectionHeight,
ViewsSectionHeight, AiGeneratedSectionHeight). Set IsContentScrollable
to false on PluginSidebar since sections manage their own scrolling.
Inset sidebar list items and remove New Dataset button
Details
Increase ListBox.sidebarList horizontal margin from 4 to 8 so
selection/hover rectangles don't stretch edge-to-edge. Remove the
New Dataset button from the sidebar header per user request.
Use shared PluginSidebar control for Data plugin sidebar
Details
Replace manual Border + DockPanel + resize handle with the shared
PluginSidebar from UI.Adaptive (same control Notes uses). This ensures
the sidebar background, resize handle, and overall structure match
Notes exactly — using ThemeBackgroundBrush instead of the previous
ThemeSurfaceRecessedBrush which caused a visible mismatch. Removes
manual resize pointer handlers from code-behind in favor of
PluginSidebar.WidthChanged event. Grid columns simplified from
Auto,Auto,* to Auto,*.
Match Notes flat sidebar styling for Data plugin list items
Details
Strip default ListBoxItem backgrounds via sidebarList class styles:
transparent at rest, ThemeSurfaceElevatedBrush on hover, CornerRadius 6,
bold title on selected. Removes card-like appearance to match Notes'
minimal flat sidebar aesthetic.
Data plugin: visual overhaul + smart delete with reference checking
Details
Flatten sidebar item styling (smaller icons, tighter margins) to match
Notes' minimal aesthetic. Add hover-reveal (x) delete buttons on Views
and AI Generated list items. Extract delete logic into partial class
DataViewModel.Delete.cs with async reference search — on delete request,
the overlay now checks for cross-plugin entities referencing the dataset
via SDK SearchAsync and displays clickable navigation links before
confirming. Add DatasetReference model, wire IPrivStackSdk through
DataPlugin. Bump version to 1.20.0.
Get notified about new releases