flexlayout-react 0.8.2 → 0.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ChangeLog.txt +10 -0
- package/README.md +3 -3
- package/declarations/Types.d.ts +3 -1
- package/declarations/model/BorderNode.d.ts +1 -0
- package/declarations/model/IJsonModel.d.ts +30 -2
- package/declarations/model/TabSetNode.d.ts +1 -0
- package/declarations/view/Layout.d.ts +1 -1
- package/declarations/view/Utils.d.ts +0 -3
- package/dist/flexlayout.js +12 -12
- package/dist/flexlayout_min.js +1 -1
- package/lib/Types.js +2 -0
- package/lib/Types.js.map +1 -1
- package/lib/model/BorderNode.js +4 -0
- package/lib/model/BorderNode.js.map +1 -1
- package/lib/model/LayoutWindow.js +1 -3
- package/lib/model/LayoutWindow.js.map +1 -1
- package/lib/model/Model.js +2 -9
- package/lib/model/Model.js.map +1 -1
- package/lib/model/TabSetNode.js +5 -1
- package/lib/model/TabSetNode.js.map +1 -1
- package/lib/view/BorderTabSet.js +17 -13
- package/lib/view/BorderTabSet.js.map +1 -1
- package/lib/view/Layout.js +2 -2
- package/lib/view/Layout.js.map +1 -1
- package/lib/view/Splitter.js +2 -2
- package/lib/view/Tab.js +5 -0
- package/lib/view/Tab.js.map +1 -1
- package/lib/view/TabOverflowHook.js +141 -112
- package/lib/view/TabOverflowHook.js.map +1 -1
- package/lib/view/TabSet.js +14 -20
- package/lib/view/TabSet.js.map +1 -1
- package/lib/view/Utils.js +0 -17
- package/lib/view/Utils.js.map +1 -1
- package/package.json +1 -1
- package/src/Types.ts +3 -0
- package/src/model/BorderNode.ts +7 -0
- package/src/model/IJsonModel.ts +34 -2
- package/src/model/LayoutWindow.ts +1 -3
- package/src/model/Model.ts +2 -9
- package/src/model/TabSetNode.ts +10 -1
- package/src/view/BorderTabSet.tsx +26 -15
- package/src/view/Layout.tsx +2 -2
- package/src/view/Splitter.tsx +2 -2
- package/src/view/Tab.tsx +6 -0
- package/src/view/TabOverflowHook.tsx +165 -127
- package/src/view/TabSet.tsx +19 -21
- package/src/view/Utils.tsx +0 -24
- package/style/_base.scss +26 -3
- package/style/dark.css +701 -685
- package/style/dark.css.map +1 -1
- package/style/gray.css +684 -668
- package/style/gray.css.map +1 -1
- package/style/light.css +685 -669
- package/style/light.css.map +1 -1
- package/style/rounded.css +730 -697
- package/style/rounded.css.map +1 -1
- package/style/rounded.scss +22 -5
- package/style/underline.css +705 -690
- package/style/underline.css.map +1 -1
- package/style/underline.scss +1 -1
package/lib/view/TabSet.js
CHANGED
|
@@ -28,25 +28,28 @@ export const TabSet = (props) => {
|
|
|
28
28
|
const newContentRect = Rect.getContentRect(contentRef.current).relativeTo(layout.getDomRect());
|
|
29
29
|
if (!node.getContentRect().equals(newContentRect)) {
|
|
30
30
|
node.setContentRect(newContentRect);
|
|
31
|
-
|
|
31
|
+
setTimeout(() => {
|
|
32
|
+
layout.redrawInternal("tabset content rect " + newContentRect);
|
|
33
|
+
}, 0);
|
|
32
34
|
}
|
|
33
35
|
});
|
|
34
36
|
// this must be after the useEffect, so the node rect is already set (else window popin will not position tabs correctly)
|
|
35
|
-
const { selfRef,
|
|
37
|
+
const { selfRef, userControlledPositionRef, onScroll, hiddenTabs, onMouseWheel, isTabOverflow } = useTabOverflow(layout, node, Orientation.HORZ, tabStripInnerRef, layout.getClassName(CLASSES.FLEXLAYOUT__TAB_BUTTON));
|
|
36
38
|
const onOverflowClick = (event) => {
|
|
37
39
|
const callback = layout.getShowOverflowMenu();
|
|
40
|
+
const items = hiddenTabs.map(h => { return { index: h, node: node.getChildren()[h] }; });
|
|
38
41
|
if (callback !== undefined) {
|
|
39
|
-
callback(node, event,
|
|
42
|
+
callback(node, event, items, onOverflowItemSelect);
|
|
40
43
|
}
|
|
41
44
|
else {
|
|
42
45
|
const element = overflowbuttonRef.current;
|
|
43
|
-
showPopup(element,
|
|
46
|
+
showPopup(element, items, onOverflowItemSelect, layout);
|
|
44
47
|
}
|
|
45
48
|
event.stopPropagation();
|
|
46
49
|
};
|
|
47
50
|
const onOverflowItemSelect = (item) => {
|
|
48
51
|
layout.doAction(Actions.selectTab(item.node.getId()));
|
|
49
|
-
|
|
52
|
+
userControlledPositionRef.current = false;
|
|
50
53
|
};
|
|
51
54
|
const onDragStart = (event) => {
|
|
52
55
|
if (!layout.getEditingTab()) {
|
|
@@ -64,13 +67,6 @@ export const TabSet = (props) => {
|
|
|
64
67
|
};
|
|
65
68
|
const onPointerDown = (event) => {
|
|
66
69
|
if (!isAuxMouseEvent(event)) {
|
|
67
|
-
let name = node.getName();
|
|
68
|
-
if (name === undefined) {
|
|
69
|
-
name = "";
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
name = ": " + name;
|
|
73
|
-
}
|
|
74
70
|
layout.doAction(Actions.setActiveTabset(node.getId(), layout.getWindowId()));
|
|
75
71
|
}
|
|
76
72
|
};
|
|
@@ -113,10 +109,6 @@ export const TabSet = (props) => {
|
|
|
113
109
|
};
|
|
114
110
|
// Start Render
|
|
115
111
|
const cm = layout.getClassName;
|
|
116
|
-
// tabbar inner can get shifted left via tab rename, this resets scrollleft to 0
|
|
117
|
-
if (tabStripInnerRef.current !== null && tabStripInnerRef.current.scrollLeft !== 0) {
|
|
118
|
-
tabStripInnerRef.current.scrollLeft = 0;
|
|
119
|
-
}
|
|
120
112
|
const selectedTabNode = node.getSelectedNode();
|
|
121
113
|
const path = node.getPath();
|
|
122
114
|
const tabs = [];
|
|
@@ -143,7 +135,7 @@ export const TabSet = (props) => {
|
|
|
143
135
|
renderState.overflowPosition = stickyButtons.length;
|
|
144
136
|
}
|
|
145
137
|
if (stickyButtons.length > 0) {
|
|
146
|
-
if (!node.isEnableTabWrap() && (
|
|
138
|
+
if (!node.isEnableTabWrap() && (isTabOverflow || isTabStretch)) {
|
|
147
139
|
buttons = [...stickyButtons, ...buttons];
|
|
148
140
|
}
|
|
149
141
|
else {
|
|
@@ -155,7 +147,8 @@ export const TabSet = (props) => {
|
|
|
155
147
|
const overflowTitle = layout.i18nName(I18nLabel.Overflow_Menu_Tooltip);
|
|
156
148
|
let overflowContent;
|
|
157
149
|
if (typeof icons.more === "function") {
|
|
158
|
-
|
|
150
|
+
const items = hiddenTabs.map(h => { return { index: h, node: node.getChildren()[h] }; });
|
|
151
|
+
overflowContent = icons.more(node, items);
|
|
159
152
|
}
|
|
160
153
|
else {
|
|
161
154
|
overflowContent = (React.createElement(React.Fragment, null,
|
|
@@ -216,9 +209,10 @@ export const TabSet = (props) => {
|
|
|
216
209
|
}
|
|
217
210
|
else {
|
|
218
211
|
if (node.isEnableTabStrip()) {
|
|
212
|
+
const miniScrollbarClasses = cm(CLASSES.FLEXLAYOUT__MINI_SCROLLBAR) + (node.isEnableTabScrollbar() ? "" : " " + cm(CLASSES.FLEXLAYOUT__MINI_SCROLLBAR_HIDDEN));
|
|
219
213
|
tabStrip = (React.createElement("div", { className: tabStripClasses, ref: tabStripRef, "data-layout-path": path + "/tabstrip", onPointerDown: onPointerDown, onDoubleClick: onDoubleClick, onContextMenu: onContextMenu, onClick: onAuxMouseClick, onAuxClick: onAuxMouseClick, draggable: true, onWheel: onMouseWheel, onDragStart: onDragStart },
|
|
220
|
-
React.createElement("div", { ref: tabStripInnerRef, className: cm(CLASSES.FLEXLAYOUT__TABSET_TABBAR_INNER) + " " + cm(CLASSES.FLEXLAYOUT__TABSET_TABBAR_INNER_ + node.getTabLocation()) },
|
|
221
|
-
React.createElement("div", { style: {
|
|
214
|
+
React.createElement("div", { ref: tabStripInnerRef, className: cm(CLASSES.FLEXLAYOUT__TABSET_TABBAR_INNER) + " " + cm(CLASSES.FLEXLAYOUT__TABSET_TABBAR_INNER_ + node.getTabLocation()) + " " + miniScrollbarClasses, style: { overflowX: 'auto', overflowY: "hidden" }, onScroll: onScroll },
|
|
215
|
+
React.createElement("div", { style: { width: (isTabStretch ? "100%" : "none") }, className: cm(CLASSES.FLEXLAYOUT__TABSET_TABBAR_INNER_TAB_CONTAINER) + " " + cm(CLASSES.FLEXLAYOUT__TABSET_TABBAR_INNER_TAB_CONTAINER_ + node.getTabLocation()) }, tabs)),
|
|
222
216
|
buttonbar));
|
|
223
217
|
}
|
|
224
218
|
}
|
package/lib/view/TabSet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabSet.js","sourceRoot":"","sources":["../../src/view/TabSet.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TabSet.js","sourceRoot":"","sources":["../../src/view/TabSet.tsx"],"names":[],"mappings":"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"}
|
package/lib/view/Utils.js
CHANGED
|
@@ -86,23 +86,6 @@ export function canDockToWindow(node) {
|
|
|
86
86
|
}
|
|
87
87
|
return false;
|
|
88
88
|
}
|
|
89
|
-
export function keepOnScreen(rect) {
|
|
90
|
-
rect.snap(10);
|
|
91
|
-
const availableScreenWidth = window.screen.availWidth;
|
|
92
|
-
const availableScreenHeight = window.screen.availHeight;
|
|
93
|
-
if (rect.x + rect.width > availableScreenWidth || rect.y + rect.height > availableScreenHeight) {
|
|
94
|
-
// Adjust the rectangle to fit within the available screen space
|
|
95
|
-
rect.x = Math.max(0, Math.min(rect.x, availableScreenWidth - rect.width));
|
|
96
|
-
rect.y = Math.max(0, Math.min(rect.y, availableScreenHeight - rect.height));
|
|
97
|
-
}
|
|
98
|
-
return rect;
|
|
99
|
-
}
|
|
100
|
-
export function isOnScreen(rect) {
|
|
101
|
-
const availableScreenWidth = window.screen.availWidth;
|
|
102
|
-
const availableScreenHeight = window.screen.availHeight;
|
|
103
|
-
return (rect.x >= 0 && rect.getRight() <= availableScreenWidth &&
|
|
104
|
-
rect.y >= 0 || rect.getBottom() <= availableScreenHeight);
|
|
105
|
-
}
|
|
106
89
|
export function copyInlineStyles(source, target) {
|
|
107
90
|
// Get the inline style attribute from the source element
|
|
108
91
|
const sourceStyle = source.getAttribute('style');
|
package/lib/view/Utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../src/view/Utils.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../src/view/Utils.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Types.ts
CHANGED
|
@@ -111,4 +111,7 @@ export enum CLASSES {
|
|
|
111
111
|
FLEXLAYOUT__POPUP_MENU_CONTAINER = "flexlayout__popup_menu_container",
|
|
112
112
|
FLEXLAYOUT__POPUP_MENU_ITEM = "flexlayout__popup_menu_item",
|
|
113
113
|
FLEXLAYOUT__POPUP_MENU = "flexlayout__popup_menu",
|
|
114
|
+
|
|
115
|
+
FLEXLAYOUT__MINI_SCROLLBAR = "flexlayout__mini_scrollbar",
|
|
116
|
+
FLEXLAYOUT__MINI_SCROLLBAR_HIDDEN = "flexlayout__mini_scrollbar_hidden",
|
|
114
117
|
}
|
package/src/model/BorderNode.ts
CHANGED
|
@@ -159,6 +159,10 @@ export class BorderNode extends Node implements IDropTarget {
|
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
+
isEnableTabScrollbar() {
|
|
163
|
+
return this.getAttr("enableTabScrollbar") as boolean;
|
|
164
|
+
}
|
|
165
|
+
|
|
162
166
|
/** @internal */
|
|
163
167
|
setSelected(index: number) {
|
|
164
168
|
this.attributes.selected = index;
|
|
@@ -446,6 +450,9 @@ export class BorderNode extends Node implements IDropTarget {
|
|
|
446
450
|
attributeDefinitions.addInherited("enableAutoHide", "borderEnableAutoHide").setType(Attribute.BOOLEAN).setDescription(
|
|
447
451
|
`hide border if it has zero tabs`
|
|
448
452
|
);
|
|
453
|
+
attributeDefinitions.addInherited("enableTabScrollbar", "borderEnableTabScrollbar").setType(Attribute.BOOLEAN).setDescription(
|
|
454
|
+
`whether to show a mini scrollbar for the tabs`
|
|
455
|
+
);
|
|
449
456
|
return attributeDefinitions;
|
|
450
457
|
}
|
|
451
458
|
}
|
package/src/model/IJsonModel.ts
CHANGED
|
@@ -92,6 +92,15 @@ export interface IGlobalAttributes {
|
|
|
92
92
|
*/
|
|
93
93
|
borderEnableDrop?: boolean;
|
|
94
94
|
|
|
95
|
+
/**
|
|
96
|
+
Value for BorderNode attribute enableTabScrollbar if not overridden
|
|
97
|
+
|
|
98
|
+
whether to show a mini scrollbar for the tabs
|
|
99
|
+
|
|
100
|
+
Default: false
|
|
101
|
+
*/
|
|
102
|
+
borderEnableTabScrollbar?: boolean;
|
|
103
|
+
|
|
95
104
|
/**
|
|
96
105
|
Value for BorderNode attribute maxSize if not overridden
|
|
97
106
|
|
|
@@ -412,6 +421,15 @@ export interface IGlobalAttributes {
|
|
|
412
421
|
*/
|
|
413
422
|
tabSetEnableSingleTabStretch?: boolean;
|
|
414
423
|
|
|
424
|
+
/**
|
|
425
|
+
Value for TabSetNode attribute enableTabScrollbar if not overridden
|
|
426
|
+
|
|
427
|
+
whether to show a mini scrollbar for the tabs
|
|
428
|
+
|
|
429
|
+
Default: false
|
|
430
|
+
*/
|
|
431
|
+
tabSetEnableTabScrollbar?: boolean;
|
|
432
|
+
|
|
415
433
|
/**
|
|
416
434
|
Value for TabSetNode attribute enableTabStrip if not overridden
|
|
417
435
|
|
|
@@ -424,7 +442,7 @@ export interface IGlobalAttributes {
|
|
|
424
442
|
/**
|
|
425
443
|
Value for TabSetNode attribute enableTabWrap if not overridden
|
|
426
444
|
|
|
427
|
-
|
|
445
|
+
wrap tabs onto multiple lines
|
|
428
446
|
|
|
429
447
|
Default: false
|
|
430
448
|
*/
|
|
@@ -577,6 +595,13 @@ export interface ITabSetAttributes {
|
|
|
577
595
|
*/
|
|
578
596
|
enableSingleTabStretch?: boolean;
|
|
579
597
|
|
|
598
|
+
/**
|
|
599
|
+
whether to show a mini scrollbar for the tabs
|
|
600
|
+
|
|
601
|
+
Default: inherited from Global attribute tabSetEnableTabScrollbar (default false)
|
|
602
|
+
*/
|
|
603
|
+
enableTabScrollbar?: boolean;
|
|
604
|
+
|
|
580
605
|
/**
|
|
581
606
|
enable tab strip and allow multiple tabs in this tabset
|
|
582
607
|
|
|
@@ -585,7 +610,7 @@ export interface ITabSetAttributes {
|
|
|
585
610
|
enableTabStrip?: boolean;
|
|
586
611
|
|
|
587
612
|
/**
|
|
588
|
-
|
|
613
|
+
wrap tabs onto multiple lines
|
|
589
614
|
|
|
590
615
|
Default: inherited from Global attribute tabSetEnableTabWrap (default false)
|
|
591
616
|
*/
|
|
@@ -890,6 +915,13 @@ export interface IBorderAttributes {
|
|
|
890
915
|
*/
|
|
891
916
|
enableDrop?: boolean;
|
|
892
917
|
|
|
918
|
+
/**
|
|
919
|
+
whether to show a mini scrollbar for the tabs
|
|
920
|
+
|
|
921
|
+
Default: inherited from Global attribute borderEnableTabScrollbar (default false)
|
|
922
|
+
*/
|
|
923
|
+
enableTabScrollbar?: boolean;
|
|
924
|
+
|
|
893
925
|
/**
|
|
894
926
|
the maximum size of the tab area
|
|
895
927
|
|
|
@@ -4,7 +4,6 @@ import { Model } from "./Model";
|
|
|
4
4
|
import { RowNode } from "./RowNode";
|
|
5
5
|
import { Node } from "./Node";
|
|
6
6
|
import { TabSetNode } from "./TabSetNode";
|
|
7
|
-
import { keepOnScreen } from "../view/Utils";
|
|
8
7
|
import { LayoutInternal } from "../view/Layout";
|
|
9
8
|
|
|
10
9
|
export class LayoutWindow {
|
|
@@ -112,8 +111,7 @@ export class LayoutWindow {
|
|
|
112
111
|
static fromJson(windowJson: IJsonPopout, model: Model, windowId: string): LayoutWindow {
|
|
113
112
|
const count = model.getwindowsMap().size;
|
|
114
113
|
let rect = windowJson.rect ? Rect.fromJson(windowJson.rect) : new Rect(50 + 50 * count, 50 + 50 * count, 600, 400);
|
|
115
|
-
rect
|
|
116
|
-
// snapping prevents issue where window moves 1 pixel per save/restore on Chrome
|
|
114
|
+
rect.snap(10); // snapping prevents issue where window moves 1 pixel per save/restore on Chrome
|
|
117
115
|
const layoutWindow = new LayoutWindow(windowId, rect);
|
|
118
116
|
layoutWindow.root = RowNode.fromJson(windowJson.layout, model, layoutWindow);
|
|
119
117
|
return layoutWindow;
|
package/src/model/Model.ts
CHANGED
|
@@ -16,7 +16,6 @@ import { TabNode } from "./TabNode";
|
|
|
16
16
|
import { TabSetNode } from "./TabSetNode";
|
|
17
17
|
import { randomUUID } from "./Utils";
|
|
18
18
|
import { LayoutWindow } from "./LayoutWindow";
|
|
19
|
-
import { isOnScreen } from "../view/Utils";
|
|
20
19
|
|
|
21
20
|
/** @internal */
|
|
22
21
|
export const DefaultMin = 0;
|
|
@@ -406,18 +405,10 @@ export class Model {
|
|
|
406
405
|
model.borders = BorderSet.fromJson(json.borders, model);
|
|
407
406
|
}
|
|
408
407
|
if (json.popouts) {
|
|
409
|
-
let i= 0;
|
|
410
|
-
let top = 100;
|
|
411
|
-
let left = 100;
|
|
412
408
|
for (const windowId in json.popouts) {
|
|
413
409
|
const windowJson = json.popouts[windowId];
|
|
414
410
|
const layoutWindow = LayoutWindow.fromJson(windowJson, model, windowId);
|
|
415
411
|
model.windows.set(windowId, layoutWindow);
|
|
416
|
-
// offscreen windows will reload cascaded (since cannot reposition)
|
|
417
|
-
if (!isOnScreen(layoutWindow.rect)) {
|
|
418
|
-
layoutWindow.rect = new Rect(top + i*50, left+ i*50, 600, 400);
|
|
419
|
-
i++;
|
|
420
|
-
}
|
|
421
412
|
}
|
|
422
413
|
}
|
|
423
414
|
|
|
@@ -694,6 +685,7 @@ export class Model {
|
|
|
694
685
|
attributeDefinitions.add("tabMaxHeight", DefaultMax).setType(Attribute.NUMBER);
|
|
695
686
|
attributeDefinitions.add("tabSetMaxWidth", DefaultMax).setType(Attribute.NUMBER);
|
|
696
687
|
attributeDefinitions.add("tabSetMaxHeight", DefaultMax).setType(Attribute.NUMBER);
|
|
688
|
+
attributeDefinitions.add("tabSetEnableTabScrollbar", false).setType(Attribute.BOOLEAN);
|
|
697
689
|
|
|
698
690
|
// border
|
|
699
691
|
attributeDefinitions.add("borderSize", 200).setType(Attribute.NUMBER);
|
|
@@ -704,6 +696,7 @@ export class Model {
|
|
|
704
696
|
attributeDefinitions.add("borderAutoSelectTabWhenClosed", false).setType(Attribute.BOOLEAN);
|
|
705
697
|
attributeDefinitions.add("borderClassName", undefined).setType(Attribute.STRING);
|
|
706
698
|
attributeDefinitions.add("borderEnableAutoHide", false).setType(Attribute.BOOLEAN);
|
|
699
|
+
attributeDefinitions.add("borderEnableTabScrollbar", false).setType(Attribute.BOOLEAN);
|
|
707
700
|
|
|
708
701
|
return attributeDefinitions;
|
|
709
702
|
}
|
package/src/model/TabSetNode.ts
CHANGED
|
@@ -209,6 +209,10 @@ export class TabSetNode extends Node implements IDraggable, IDropTarget {
|
|
|
209
209
|
return this.getAttr("autoSelectTab") as boolean;
|
|
210
210
|
}
|
|
211
211
|
|
|
212
|
+
isEnableTabScrollbar() {
|
|
213
|
+
return this.getAttr("enableTabScrollbar") as boolean;
|
|
214
|
+
}
|
|
215
|
+
|
|
212
216
|
getClassNameTabStrip() {
|
|
213
217
|
return this.getAttr("classNameTabStrip") as string | undefined;
|
|
214
218
|
}
|
|
@@ -560,7 +564,7 @@ export class TabSetNode extends Node implements IDraggable, IDropTarget {
|
|
|
560
564
|
);
|
|
561
565
|
|
|
562
566
|
attributeDefinitions.addInherited("enableTabWrap", "tabSetEnableTabWrap").setDescription(
|
|
563
|
-
`
|
|
567
|
+
`wrap tabs onto multiple lines`
|
|
564
568
|
);
|
|
565
569
|
attributeDefinitions.addInherited("tabLocation", "tabSetTabLocation").setDescription(
|
|
566
570
|
`the location of the tabs either top or bottom`
|
|
@@ -571,6 +575,11 @@ export class TabSetNode extends Node implements IDraggable, IDropTarget {
|
|
|
571
575
|
attributeDefinitions.addInherited("enableActiveIcon", "tabSetEnableActiveIcon").setType(Attribute.BOOLEAN).setDescription(
|
|
572
576
|
`whether the active icon (*) should be displayed when the tabset is active`
|
|
573
577
|
);
|
|
578
|
+
|
|
579
|
+
attributeDefinitions.addInherited("enableTabScrollbar", "tabSetEnableTabScrollbar").setType(Attribute.BOOLEAN).setDescription(
|
|
580
|
+
`whether to show a mini scrollbar for the tabs`
|
|
581
|
+
);
|
|
582
|
+
|
|
574
583
|
return attributeDefinitions;
|
|
575
584
|
}
|
|
576
585
|
|
|
@@ -27,6 +27,7 @@ export const BorderTabSet = (props: IBorderTabSetProps) => {
|
|
|
27
27
|
const toolbarRef = React.useRef<HTMLDivElement | null>(null);
|
|
28
28
|
const overflowbuttonRef = React.useRef<HTMLButtonElement | null>(null);
|
|
29
29
|
const stickyButtonsRef = React.useRef<HTMLDivElement | null>(null);
|
|
30
|
+
const tabStripInnerRef = React.useRef<HTMLDivElement | null>(null);
|
|
30
31
|
|
|
31
32
|
const icons = layout.getIcons();
|
|
32
33
|
|
|
@@ -34,8 +35,10 @@ export const BorderTabSet = (props: IBorderTabSetProps) => {
|
|
|
34
35
|
border.setTabHeaderRect(Rect.getBoundingClientRect(selfRef.current!).relativeTo(layout.getDomRect()!));
|
|
35
36
|
});
|
|
36
37
|
|
|
37
|
-
const { selfRef,
|
|
38
|
-
|
|
38
|
+
const { selfRef, userControlledPositionRef, onScroll, hiddenTabs, onMouseWheel, isTabOverflow } =
|
|
39
|
+
useTabOverflow(layout, border, Orientation.flip(border.getOrientation()), tabStripInnerRef,
|
|
40
|
+
layout.getClassName(CLASSES.FLEXLAYOUT__BORDER_BUTTON)
|
|
41
|
+
);
|
|
39
42
|
|
|
40
43
|
const onAuxMouseClick = (event: React.MouseEvent<HTMLElement, MouseEvent>) => {
|
|
41
44
|
if (isAuxMouseEvent(event)) {
|
|
@@ -53,12 +56,14 @@ export const BorderTabSet = (props: IBorderTabSetProps) => {
|
|
|
53
56
|
|
|
54
57
|
const onOverflowClick = (event: React.MouseEvent<HTMLElement, MouseEvent>) => {
|
|
55
58
|
const callback = layout.getShowOverflowMenu();
|
|
59
|
+
const items = hiddenTabs.map(h=> {return {index: h, node: (border.getChildren()[h] as TabNode)};});
|
|
56
60
|
if (callback !== undefined) {
|
|
57
|
-
|
|
61
|
+
|
|
62
|
+
callback(border, event, items, onOverflowItemSelect);
|
|
58
63
|
} else {
|
|
59
64
|
const element = overflowbuttonRef.current!;
|
|
60
65
|
showPopup(element,
|
|
61
|
-
|
|
66
|
+
items,
|
|
62
67
|
onOverflowItemSelect,
|
|
63
68
|
layout);
|
|
64
69
|
}
|
|
@@ -67,7 +72,7 @@ export const BorderTabSet = (props: IBorderTabSetProps) => {
|
|
|
67
72
|
|
|
68
73
|
const onOverflowItemSelect = (item: { node: TabNode; index: number }) => {
|
|
69
74
|
layout.doAction(Actions.selectTab(item.node.getId()));
|
|
70
|
-
|
|
75
|
+
userControlledPositionRef.current = false;
|
|
71
76
|
};
|
|
72
77
|
|
|
73
78
|
const onPopoutTab = (event: React.MouseEvent<HTMLElement, MouseEvent>) => {
|
|
@@ -125,7 +130,7 @@ export const BorderTabSet = (props: IBorderTabSetProps) => {
|
|
|
125
130
|
}
|
|
126
131
|
|
|
127
132
|
if (stickyButtons.length > 0) {
|
|
128
|
-
if (
|
|
133
|
+
if (isTabOverflow) {
|
|
129
134
|
buttons = [...stickyButtons, ...buttons];
|
|
130
135
|
} else {
|
|
131
136
|
tabButtons.push(<div
|
|
@@ -144,7 +149,9 @@ export const BorderTabSet = (props: IBorderTabSetProps) => {
|
|
|
144
149
|
const overflowTitle = layout.i18nName(I18nLabel.Overflow_Menu_Tooltip);
|
|
145
150
|
let overflowContent;
|
|
146
151
|
if (typeof icons.more === "function") {
|
|
147
|
-
|
|
152
|
+
const items = hiddenTabs.map(h=> {return {index: h, node: (border.getChildren()[h] as TabNode)};});
|
|
153
|
+
|
|
154
|
+
overflowContent = icons.more(border, items);
|
|
148
155
|
} else {
|
|
149
156
|
overflowContent = (<>
|
|
150
157
|
{icons.more}
|
|
@@ -193,15 +200,17 @@ export const BorderTabSet = (props: IBorderTabSetProps) => {
|
|
|
193
200
|
let outerStyle = {};
|
|
194
201
|
const borderHeight = size - 1;
|
|
195
202
|
if (border.getLocation() === DockLocation.LEFT) {
|
|
196
|
-
innerStyle = { right: "100%", top:
|
|
197
|
-
outerStyle = { width: borderHeight };
|
|
203
|
+
innerStyle = { right: "100%", top:0 };
|
|
204
|
+
outerStyle = { width: borderHeight, overflowY: "auto"};
|
|
198
205
|
} else if (border.getLocation() === DockLocation.RIGHT) {
|
|
199
|
-
innerStyle = { left: "100%"
|
|
200
|
-
outerStyle = { width: borderHeight };
|
|
206
|
+
innerStyle = { left: "100%", top:0};
|
|
207
|
+
outerStyle = { width: borderHeight, overflowY: "auto" };
|
|
201
208
|
} else {
|
|
202
|
-
innerStyle = {
|
|
203
|
-
outerStyle = { height: borderHeight };
|
|
209
|
+
innerStyle = {left:0 };
|
|
210
|
+
outerStyle = { height: borderHeight, overflowX: "auto" };
|
|
204
211
|
}
|
|
212
|
+
const miniScrollbarClasses = cm(CLASSES.FLEXLAYOUT__MINI_SCROLLBAR) + (border.isEnableTabScrollbar()?"":" " + cm(CLASSES.FLEXLAYOUT__MINI_SCROLLBAR_HIDDEN));
|
|
213
|
+
|
|
205
214
|
|
|
206
215
|
return (
|
|
207
216
|
<div
|
|
@@ -218,9 +227,11 @@ export const BorderTabSet = (props: IBorderTabSetProps) => {
|
|
|
218
227
|
onWheel={onMouseWheel}
|
|
219
228
|
>
|
|
220
229
|
<div
|
|
230
|
+
ref={tabStripInnerRef}
|
|
231
|
+
className={cm(CLASSES.FLEXLAYOUT__BORDER_INNER) + " " + cm(CLASSES.FLEXLAYOUT__BORDER_INNER_ + border.getLocation().getName()) + " " + miniScrollbarClasses}
|
|
221
232
|
style={outerStyle}
|
|
222
|
-
|
|
223
|
-
|
|
233
|
+
onScroll={onScroll}
|
|
234
|
+
>
|
|
224
235
|
<div
|
|
225
236
|
style={innerStyle}
|
|
226
237
|
className={cm(CLASSES.FLEXLAYOUT__BORDER_INNER_TAB_CONTAINER) + " " + cm(CLASSES.FLEXLAYOUT__BORDER_INNER_TAB_CONTAINER_ + border.getLocation().getName())}
|
package/src/view/Layout.tsx
CHANGED
|
@@ -406,7 +406,7 @@ export class LayoutInternal extends React.Component<ILayoutInternalProps, ILayou
|
|
|
406
406
|
const borderSetContentComponents = new Map<DockLocation, React.ReactNode>();
|
|
407
407
|
for (const [_, location] of DockLocation.values) {
|
|
408
408
|
const border = borders.get(location);
|
|
409
|
-
const showBorder = border && (
|
|
409
|
+
const showBorder = border && border.isShowing() && (
|
|
410
410
|
!border.isAutoHide() ||
|
|
411
411
|
(border.isAutoHide() && (border.getChildren().length > 0 || this.state.showHiddenBorder === location)));
|
|
412
412
|
if (showBorder) {
|
|
@@ -1224,7 +1224,7 @@ export class LayoutInternal extends React.Component<ILayoutInternalProps, ILayou
|
|
|
1224
1224
|
// *************************** End Drag Drop *************************************
|
|
1225
1225
|
}
|
|
1226
1226
|
|
|
1227
|
-
export const FlexLayoutVersion = "0.8.
|
|
1227
|
+
export const FlexLayoutVersion = "0.8.4";
|
|
1228
1228
|
|
|
1229
1229
|
export type DragRectRenderCallback = (
|
|
1230
1230
|
content: React.ReactNode | undefined,
|
package/src/view/Splitter.tsx
CHANGED
|
@@ -35,8 +35,8 @@ export const Splitter = (props: ISplitterProps) => {
|
|
|
35
35
|
let extra = node.getModel().getSplitterExtra();
|
|
36
36
|
|
|
37
37
|
if (!isDesktop()) {
|
|
38
|
-
// make hit test area on mobile at least
|
|
39
|
-
extra = Math.max(
|
|
38
|
+
// make hit test area on mobile at least 20px
|
|
39
|
+
extra = Math.max(20, extra + size) - size;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
React.useEffect(() => {
|
package/src/view/Tab.tsx
CHANGED
|
@@ -95,6 +95,12 @@ export const Tab = (props: ITabProps) => {
|
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
+
if (parentNode instanceof BorderNode) {
|
|
99
|
+
if (!parentNode.isShowing()) {
|
|
100
|
+
style.display = "none";
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
98
104
|
let className = cm(CLASSES.FLEXLAYOUT__TAB);
|
|
99
105
|
if (parentNode instanceof BorderNode) {
|
|
100
106
|
className += " " + cm(CLASSES.FLEXLAYOUT__TAB_BORDER);
|