(
view: IView,
size: number | Sizing = { type: 'distribute' },
index: number = this.viewItems.length,
skipLayout?: boolean
)
| 385 | } |
| 386 | |
| 387 | public addView( |
| 388 | view: IView, |
| 389 | size: number | Sizing = { type: 'distribute' }, |
| 390 | index: number = this.viewItems.length, |
| 391 | skipLayout?: boolean |
| 392 | ): void { |
| 393 | const container = document.createElement('div'); |
| 394 | container.className = 'dv-view'; |
| 395 | |
| 396 | container.appendChild(view.element); |
| 397 | |
| 398 | let viewSize: ViewItemSize; |
| 399 | |
| 400 | if (typeof size === 'number') { |
| 401 | viewSize = size; |
| 402 | } else if (size.type === 'split') { |
| 403 | viewSize = this.getViewSize(size.index) / 2; |
| 404 | } else if (size.type === 'invisible') { |
| 405 | viewSize = { cachedVisibleSize: size.cachedVisibleSize }; |
| 406 | } else { |
| 407 | viewSize = view.minimumSize; |
| 408 | } |
| 409 | |
| 410 | const disposable = view.onDidChange((newSize) => |
| 411 | this.onDidChange(viewItem, newSize.size) |
| 412 | ); |
| 413 | |
| 414 | const viewItem = new ViewItem(container, view, viewSize, { |
| 415 | dispose: () => { |
| 416 | disposable.dispose(); |
| 417 | this.viewContainer.removeChild(container); |
| 418 | }, |
| 419 | }); |
| 420 | |
| 421 | if (index === this.viewItems.length) { |
| 422 | this.viewContainer.appendChild(container); |
| 423 | } else { |
| 424 | this.viewContainer.insertBefore( |
| 425 | container, |
| 426 | this.viewContainer.children.item(index) |
| 427 | ); |
| 428 | } |
| 429 | |
| 430 | this.viewItems.splice(index, 0, viewItem); |
| 431 | |
| 432 | if (this.viewItems.length > 1) { |
| 433 | //add sash |
| 434 | const sash = document.createElement('div'); |
| 435 | sash.className = 'dv-sash'; |
| 436 | |
| 437 | const onPointerStart = (event: PointerEvent) => { |
| 438 | for (const item of this.viewItems) { |
| 439 | item.enabled = false; |
| 440 | } |
| 441 | |
| 442 | const iframes = disableIframePointEvents(); |
| 443 | |
| 444 | const start = |
no test coverage detected