const PanelView = brackets.getModule("view/PanelView")Kind: global class
- Panel
- new Panel($panel, id, [title])
- .$panel :
jQueryObject - .isVisible() ⇒
boolean - .registerCanBeShownHandler(canShowHandlerFn) ⇒
boolean - .canBeShown() ⇒
boolean - .registerOnCloseRequestedHandler(handler)
- .requestClose() ⇒
Promise.<boolean> - .show()
- .hide()
- .focus() ⇒
boolean - .setVisible(visible)
- .setTitle(newTitle)
- .destroy()
- .getPanelType() ⇒
string
Represents a panel below the editor area (a child of ".content").
| Param | Type | Description |
|---|---|---|
| $panel | jQueryObject |
The entire panel, including any chrome, already in the DOM. |
| id | string |
Unique panel identifier. |
| [title] | string |
Optional display title for the tab bar. |
Dom node holding the rendered panel
Kind: instance property of Panel
Determines if the panel is visible
Kind: instance method of Panel
Returns: boolean - true if visible, false if not
Registers a call back function that will be called just before panel is shown. The handler should return true if the panel can be shown, else return false and the panel will not be shown.
Kind: instance method of Panel
Returns: boolean - true if visible, false if not
| Param | Type | Description |
|---|---|---|
| canShowHandlerFn | function | null |
function that should return true of false if the panel can be shown/not. or null to clear the handler. |
Returns true if th panel can be shown, else false.
Kind: instance method of Panel
Registers an async handler that is called before the panel is closed via user interaction (e.g. clicking the
tab close button). The handler should return true to allow the close, or false to prevent it.
Kind: instance method of Panel
| Param | Type | Description |
|---|---|---|
| handler | function | null |
An async function returning a boolean, or null to clear the handler. |
Requests the panel to hide, invoking the registered onCloseRequested handler first (if any).
If the handler returns false, the panel stays open. If it returns true or no handler is
registered, hide() is called.
Kind: instance method of Panel
Returns: Promise.<boolean> - Resolves to true if the panel was hidden, false if prevented.
Shows the panel
Kind: instance method of Panel
Hides the panel
Kind: instance method of Panel
Attempts to focus the panel. Override this in panels that support focus (e.g. terminal). The default implementation returns false.
Kind: instance method of Panel
Returns: boolean - true if the panel accepted focus, false otherwise
Sets the panel's visibility state
Kind: instance method of Panel
| Param | Type | Description |
|---|---|---|
| visible | boolean |
true to show, false to hide |
Updates the display title shown in the tab bar for this panel.
Kind: instance method of Panel
| Param | Type | Description |
|---|---|---|
| newTitle | string |
The new title to display. |
Destroys the panel, removing it from the tab bar, internal maps, and the DOM. After calling this, the Panel instance should not be reused.
Kind: instance method of Panel
gets the Panel's type
Kind: instance method of Panel
Maps panel ID to Panel instance
The single container wrapping all bottom panels
The tab bar inside the container
Scrollable area holding the tab elements
Ordered list of currently open (tabbed) panel IDs
The panel ID of the currently visible (active) tab
Whether the bottom panel is currently maximized
The panel height before maximize, for restore
The editor holder element, passed from WorkspaceManager
recomputeLayout callback from WorkspaceManager
The default/quick-access panel ID
The "+" button inside the tab overflow area
EVENT_PANEL_HIDDEN : string
Event when panel is hidden
Event when panel is shown
type for bottom panel
Pixel threshold for detecting near-maximize state during resize. If the editor holder height is within this many pixels of zero, the panel is treated as maximized. Keeps the maximize icon responsive during drag without being overly sensitive.
Minimum panel height (matches Resizer minSize) used as a floor when computing a sensible restore height.
Preference key for persisting the maximize state across reloads.
Initializes the PanelView module with references to the bottom panel container DOM elements. Called by WorkspaceManager during htmlReady.
Kind: global function
| Param | Type | Description |
|---|---|---|
| $container | jQueryObject |
The bottom panel container element. |
| $tabBar | jQueryObject |
The tab bar element inside the container. |
| $tabsOverflow | jQueryObject |
The scrollable area holding tab elements. |
| $editorHolder | jQueryObject |
The editor holder element (for maximize height calculation). |
| recomputeLayoutFn | function |
Callback to trigger workspace layout recomputation. |
| defaultPanelId | string |
The ID of the default/quick-access panel. |
Exit maximize state without resizing (for external callers like drag-resize). Clears internal maximize state and resets the button icon.
Enter maximize state during a drag-resize that reaches the maximum height. No pre-maximize height is stored because the user arrived here via continuous dragging; a sensible default will be computed if they later click the Restore button.
Restore the container's CSS height to the pre-maximize value and clear maximize state. Must be called BEFORE Resizer.hide() so the Resizer reads the correct height. If not maximized, this is a no-op. When the saved height is near-max or unknown, a sensible default is used.
Returns true if the bottom panel is currently maximized.
Returns a copy of the currently open bottom panel IDs in tab order.
Hides every open bottom panel tab in a single batch
Kind: global function
Returns: Array.<string> - The IDs of panels that were open (useful for restoring later).
getActiveBottomPanel() ⇒ Panel | null
Returns the currently active (visible) bottom panel, or null if none.
Cycle to the next open bottom panel tab. If the container is hidden or no panels are open, does nothing and returns false.
Kind: global function
Returns: boolean - true if a panel switch occurred