diff options
-rw-r--r-- | .prettierignore | 3 | ||||
-rw-r--r-- | src/client/goldenLayout.js | 35 | ||||
-rw-r--r-- | src/client/views/DocumentButtonBar.tsx | 2 |
3 files changed, 30 insertions, 10 deletions
diff --git a/.prettierignore b/.prettierignore index a6372b8eb..5c852fcd1 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1 +1,2 @@ -src/client/util/CurrentUserUtils.ts
\ No newline at end of file +src/client/util/CurrentUserUtils.ts +src/client/goldenLayout.js
\ No newline at end of file diff --git a/src/client/goldenLayout.js b/src/client/goldenLayout.js index 012ee163c..e5cd50de2 100644 --- a/src/client/goldenLayout.js +++ b/src/client/goldenLayout.js @@ -3264,7 +3264,6 @@ if (canDelete) { rowOrCol.removeChild(stack); if (rowOrCol.contentItems.length === 1 && parRowOrCol.contentItems.length === 1 && !parRowOrCol.isRoot) { - saveScrollTops(rowOrCol.contentItems[0].element); parRowOrCol.replaceChild(rowOrCol, rowOrCol.contentItems[0]); restoreScrollTops(rowOrCol.contentItems[0].element); @@ -4724,15 +4723,35 @@ */ } else { type = isVertical ? 'column' : 'row'; - rowOrColumn = this.layoutManager.createContentItem({ type: type }, this); - this.parent.replaceChild(this, rowOrColumn); + if (this.parent.contentItems.length === 1) { + let grandparent = this.parent.parent; + let correctRowOrCol = this.layoutManager.createContentItem({ type: type }, this); + grandparent.replaceChild(this.parent, correctRowOrCol); + correctRowOrCol.addChild(contentItem, 0, true); + let newstack = this.contentItems[0]; + if (newstack.isComponent) { + newstack = this.layoutManager.createContentItem({ + type: 'stack', + header: contentItem.config.header || {} + }, this); + newstack._$init(); + newstack.addChild(this.contentItems[0]); + } + correctRowOrCol.addChild(newstack, insertBefore ? 0 : undefined, true); + newstack.config[dimension] = 50; + contentItem.config[dimension] = 50; + correctRowOrCol.callDownwards('setSize'); + } else { + rowOrColumn = this.layoutManager.createContentItem({ type: type }, this); + this.parent.replaceChild(this, rowOrColumn); - rowOrColumn.addChild(contentItem, insertBefore ? 0 : undefined, true); - rowOrColumn.addChild(this, insertBefore ? undefined : 0, true); + rowOrColumn.addChild(contentItem, insertBefore ? 0 : undefined, true); + rowOrColumn.addChild(this, insertBefore ? undefined : 0, true); - this.config[dimension] = 50; - contentItem.config[dimension] = 50; - rowOrColumn.callDownwards('setSize'); + this.config[dimension] = 50; + contentItem.config[dimension] = 50; + rowOrColumn.callDownwards('setSize'); + } } }, diff --git a/src/client/views/DocumentButtonBar.tsx b/src/client/views/DocumentButtonBar.tsx index d49c4c6c0..35c0b9a7d 100644 --- a/src/client/views/DocumentButtonBar.tsx +++ b/src/client/views/DocumentButtonBar.tsx @@ -235,7 +235,7 @@ export class DocumentButtonBar extends React.Component<{ views: () => (DocumentV get pinButton() { const targetDoc = this.view0?.props.Document; return !targetDoc ? null : ( - <Tooltip title={<div className="dash-tooltip">{SelectionManager.Views().length > 1 ? 'Pin multiple documents to presentation' : 'Pin to presentation'}</div>}> + <Tooltip title={<div className="dash-tooltip">{SelectionManager.Views().length > 1 ? 'Pin multiple documents to trail (use shift to pin with view)' : 'Pin to trail (use shift to pin with view)'}</div>}> <div className="documentButtonBar-icon" style={{ color: 'white' }} |