aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.prettierignore3
-rw-r--r--src/client/goldenLayout.js35
-rw-r--r--src/client/views/DocumentButtonBar.tsx2
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' }}