Class EquationPanelOutlineViewRenderer
Constructors
Properties
Private Readonlyapp
app : App
collapse All State
collapseAllState : boolean = false
collapse Headings
collapseHeadings : Set < string > = ...
Privatecurrent Collapse All State
currentCollapseAllState : boolean = false
Private Readonlycurrent Heading Occurrences
currentHeadingOccurrences : Map < string , number > = ...
Private Readonlyparsed Collapsed Headings
parsedCollapsedHeadings : Set < string > = ...
Methods
Privateattach Collapse Handler
attachCollapseHandler ( hasContent : boolean , collapseIcon : HTMLElement | null , id : string , contentContainer : HTMLElement , ) : void
Parameters
hasContent : boolean
collapseIcon : HTMLElement | null
id : string
contentContainer : HTMLElement
Returns void
Privatecreate Collapse Icon
createCollapseIcon ( headingHeader : HTMLElement , group : PanelItemGroup , metadata : HeadingMetadata , ) : HTMLElement | null
Parameters
headingHeader : HTMLElement
group : PanelItemGroup
metadata : HeadingMetadata
Returns HTMLElement | null
Privatecreate Equation Count Badge
createEquationCountBadge ( headingHeader : HTMLElement , totalItemCount : number , ) : void
Parameters
headingHeader : HTMLElement
totalItemCount : number
Returns void
Privatecreate Heading Div
createHeadingDiv ( container : HTMLElement , group : PanelItemGroup , metadata : HeadingMetadata , ) : HTMLElement
Parameters
container : HTMLElement
group : PanelItemGroup
metadata : HeadingMetadata
Returns HTMLElement
Parameters
headingDiv : HTMLElement
group : PanelItemGroup
metadata : HeadingMetadata
Returns { collapseIcon : HTMLElement | null ; headingHeader : HTMLElement }
Privatecreate Heading Text
createHeadingText ( headingHeader : HTMLElement , group : PanelItemGroup ) : void
Privateget Direct Items For Heading
Privateget Direct Subheading Indices
getDirectSubheadingIndices ( groups : PanelItemGroup [] , currentIndex : number , ) : number []
Privateget End Line For Heading
getEndLineForHeading ( headings : Heading [] , currentIndex : number ) : number
Parameters
headings : Heading []
currentIndex : number
Returns number
Privateget Total Items For Heading
getTotalItemsForHeading ( items : PanelItem [] , headings : Heading [] , currentIndex : number , ) : number
Privategroup Items By Headings
handle Outline View Refresh
handleOutlineViewRefresh ( items : PanelItem [] , headings : Heading [] , viewStateEqual : boolean , ) : Promise < void >
Privatehas Parent Heading
hasParentHeading ( groups : PanelItemGroup [] , currentIndex : number ) : boolean
Privatehas Subheadings
hasSubheadings ( groups : PanelItemGroup [] , currentIndex : number ) : boolean
Privatejump To Heading
jumpToHeading ( heading : Heading ) : Promise < void >
Privaterender Heading Group
renderHeadingGroup ( container : HTMLElement , allGroups : PanelItemGroup [] , currentIndex : number , allItems : PanelItem [] , allHeadings : Heading [] , ) : Promise < void >
Privateupdate Heading Lines
updateHeadingLines ( headings : Heading [] ) : void
Since the outline view is much more complex than list view, we encapsulate its rendering logic into a separate class for better code organization.