SearchCtrlK

  • ↑↓navigate
  • ↵open
  • escclose

Can’t find it? Contact us

splitViewKeys

Binds j/k to step through the list's items while the list keeps its scroll, keeps the list's scroll offset across full page loads.

tsx
import { splitViewKeys } from "@sdxc/ui/app";

Signature

typescript
splitViewKeys(listId: string, sidebarId: string | undefined, scope: SplitViewKeyScope): MixinDescriptor<HTMLElement>

Returns a mixin descriptor for the view's key marker.

Parameters

ParameterTypeRequiredDescription
listIdstringYesThe list pane's id.
sidebarIdstring | undefinedYesThe sidebar pane's id, when the view has one.
scope"page" | "view"Yes"page" answers j/k anywhere; "view" only while focus is inside the view.

Examples

tsx
<span hidden mix={[splitViewKeys("inbox-list", "inbox-sidebar", "page")]} />

The events, constants and types its module publishes, each imported from @sdxc/ui/app too.

Constant

SPLIT_VIEW_ITEM_ATTRIBUTE

Attribute an app puts on each list link j/k steps through, in list order.

typescript
const SPLIT_VIEW_ITEM_ATTRIBUTE = "data-split-view-item"
Function

setSplitViewCollapsed

Collapses or restores pane and remembers it. The list and the detail never both collapse: collapsing one brings the other back, so the view always shows a record.

typescript
setSplitViewCollapsed(root: HTMLElement, pane: SplitViewPane, collapsed: boolean): void
ParameterTypeRequiredDescription
rootHTMLElementYesThe split view.
paneSplitViewPaneYesThe pane to change.
collapsedbooleanYesWhether it ends collapsed.
Type

SplitViewKeyScope

Where a split view's j/k answer: "page" anywhere in the document, "view" only while focus is inside the view, for a view shown on a page whose own keys come first.

typescript
type SplitViewKeyScope = "page" | "view"
@sdxc/ui

Can’t find it? Contact us