UNPKG

dockview

Version:

Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support

38 lines (37 loc) 1.41 kB
import { addDisposableListener } from '../events'; import { CompositeDisposable, MutableDisposable } from '../lifecycle'; export class DefaultHeader extends CompositeDisposable { constructor() { super(); this.disposable = new MutableDisposable(); this.apiRef = { api: null }; this._element = document.createElement('div'); this.element.className = 'default-header'; this._content = document.createElement('span'); this._expander = document.createElement('a'); this.element.appendChild(this._content); this.element.appendChild(this._expander); this.addDisposables(addDisposableListener(this._expander, 'click', () => { var _a; (_a = this.apiRef.api) === null || _a === void 0 ? void 0 : _a.setExpanded(!this.apiRef.api.isExpanded); })); } get element() { return this._element; } init(params) { this.apiRef.api = params.api; this._content.textContent = params.title; this._expander.textContent = params.api.isExpanded ? '<' : '>'; this.disposable.value = params.api.onDidExpansionChange((e) => { this._expander.textContent = e.isExpanded ? '<' : '>'; }); } update(params) { // } dispose() { this.disposable.dispose(); super.dispose(); } }