flexlayout-react 0.5.20 → 0.6.2
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 +22 -0
- package/README.md +9 -13
- package/declarations/Types.d.ts +2 -0
- package/declarations/model/IJsonModel.d.ts +3 -0
- package/declarations/model/Model.d.ts +2 -0
- package/declarations/view/Icons.d.ts +6 -0
- package/declarations/view/Layout.d.ts +23 -10
- package/declarations/view/MenuTabButton.d.ts +1 -0
- package/declarations/view/TabButtonStamp.d.ts +1 -0
- package/declarations/view/Utils.d.ts +1 -0
- package/dist/flexlayout.js +49 -13
- package/dist/flexlayout_min.js +1 -1
- package/lib/PopupMenu.js +10 -6
- package/lib/PopupMenu.js.map +1 -1
- package/lib/Types.js +2 -0
- package/lib/Types.js.map +1 -1
- package/lib/model/Model.js +8 -0
- package/lib/model/Model.js.map +1 -1
- package/lib/model/TabNode.js +6 -1
- package/lib/model/TabNode.js.map +1 -1
- package/lib/view/BorderButton.js +9 -39
- package/lib/view/BorderButton.js.map +1 -1
- package/lib/view/BorderTabSet.js +21 -8
- package/lib/view/BorderTabSet.js.map +1 -1
- package/lib/view/FloatingWindow.js +13 -5
- package/lib/view/FloatingWindow.js.map +1 -1
- package/lib/view/Icons.js +36 -0
- package/lib/view/Icons.js.map +1 -0
- package/lib/view/Layout.js +58 -13
- package/lib/view/Layout.js.map +1 -1
- package/lib/view/MenuTabButton.js +22 -0
- package/lib/view/MenuTabButton.js.map +1 -0
- package/lib/view/Tab.js +7 -4
- package/lib/view/Tab.js.map +1 -1
- package/lib/view/TabButton.js +13 -46
- package/lib/view/TabButton.js.map +1 -1
- package/lib/view/TabButtonStamp.js +22 -0
- package/lib/view/TabButtonStamp.js.map +1 -0
- package/lib/view/TabFloating.js +5 -3
- package/lib/view/TabFloating.js.map +1 -1
- package/lib/view/TabOverflowHook.js +3 -1
- package/lib/view/TabOverflowHook.js.map +1 -1
- package/lib/view/TabSet.js +29 -24
- package/lib/view/TabSet.js.map +1 -1
- package/lib/view/Utils.js +61 -0
- package/lib/view/Utils.js.map +1 -0
- package/package.json +3 -3
- package/src/I18nLabel.ts +1 -1
- package/src/PopupMenu.tsx +25 -8
- package/src/Types.ts +2 -0
- package/src/model/IJsonModel.ts +3 -0
- package/src/model/Model.ts +12 -0
- package/src/model/TabNode.ts +6 -1
- package/src/view/BorderButton.tsx +8 -41
- package/src/view/BorderTabSet.tsx +28 -8
- package/src/view/FloatingWindow.tsx +14 -6
- package/src/view/Icons.tsx +36 -0
- package/src/view/Layout.tsx +88 -34
- package/src/view/Tab.tsx +9 -4
- package/src/view/TabButton.tsx +18 -55
- package/src/view/TabButtonStamp.tsx +47 -0
- package/src/view/TabFloating.tsx +5 -3
- package/src/view/TabOverflowHook.tsx +3 -2
- package/src/view/TabSet.tsx +33 -21
- package/src/view/Utils.tsx +71 -0
- package/style/_base.scss +81 -46
- package/style/dark.css +79 -68
- package/style/dark.css.map +1 -1
- package/style/dark.scss +15 -5
- package/style/gray.css +76 -65
- package/style/gray.css.map +1 -1
- package/style/gray.scss +10 -3
- package/style/light.css +80 -69
- package/style/light.css.map +1 -1
- package/style/light.scss +16 -6
- package/images/close.png +0 -0
- package/images/maximize.png +0 -0
- package/images/more.png +0 -0
- package/images/more2.png +0 -0
- package/images/popout.png +0 -0
- package/images/restore.png +0 -0
|
@@ -14,6 +14,7 @@ var useTabOverflow = function (node, orientation, toolbarRef, stickyButtonsRef)
|
|
|
14
14
|
var _a = React.useState(0), position = _a[0], setPosition = _a[1];
|
|
15
15
|
var userControlledLeft = React.useRef(false);
|
|
16
16
|
var _b = React.useState([]), hiddenTabs = _b[0], setHiddenTabs = _b[1];
|
|
17
|
+
var lastHiddenCount = React.useRef(0);
|
|
17
18
|
// if selected node or tabset/border rectangle change then unset usercontrolled (so selected tab will be kept in view)
|
|
18
19
|
React.useLayoutEffect(function () {
|
|
19
20
|
userControlledLeft.current = false;
|
|
@@ -65,8 +66,10 @@ var useTabOverflow = function (node, orientation, toolbarRef, stickyButtonsRef)
|
|
|
65
66
|
var lastChild = node.getChildren()[node.getChildren().length - 1];
|
|
66
67
|
var stickyButtonsSize = stickyButtonsRef.current === null ? 0 : getSize(stickyButtonsRef.current.getBoundingClientRect());
|
|
67
68
|
if (firstRender.current === true ||
|
|
69
|
+
(lastHiddenCount.current === 0 && hiddenTabs.length !== 0) ||
|
|
68
70
|
nodeRect.width !== lastRect.current.width || // incase rect changed between first render and second
|
|
69
71
|
nodeRect.height !== lastRect.current.height) {
|
|
72
|
+
lastHiddenCount.current = hiddenTabs.length;
|
|
70
73
|
lastRect.current = nodeRect;
|
|
71
74
|
var enabled = node instanceof TabSetNode_1.default ? node.isEnableTabStrip() === true : true;
|
|
72
75
|
var endPos = getFar(nodeRect) - stickyButtonsSize;
|
|
@@ -77,7 +80,6 @@ var useTabOverflow = function (node, orientation, toolbarRef, stickyButtonsRef)
|
|
|
77
80
|
if (hiddenTabs.length === 0 && position === 0 && getFar(lastChild.getTabRect()) + tabMargin < endPos) {
|
|
78
81
|
return; // nothing to do all tabs are shown in available space
|
|
79
82
|
}
|
|
80
|
-
endPos -= hiddenTabs.length > 0 ? (orientation === Orientation_1.default.HORZ ? 10 : 0) : 45; // will need hidden tabs
|
|
81
83
|
var shiftPos = 0;
|
|
82
84
|
var selectedTab = node.getSelectedNode();
|
|
83
85
|
if (selectedTab && !userControlledLeft.current) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabOverflowHook.js","sourceRoot":"","sources":["../../src/view/TabOverflowHook.tsx"],"names":[],"mappings":";;;AAAA,6BAA+B;AAE/B,gCAA2B;AAC3B,kDAA6C;AAE7C,8CAAyC;AAEzC,wBAAwB;AACjB,IAAM,cAAc,GAAG,UAC1B,IAA6B,EAC7B,WAAwB,EACxB,UAAyD,EACzD,gBAA+D;IAE/D,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAU,IAAI,CAAC,CAAC;IAChD,IAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAU,KAAK,CAAC,CAAC;IACnD,IAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAO,IAAI,cAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,IAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAwB,IAAI,CAAC,CAAC;IAEpD,IAAA,KAA0B,KAAK,CAAC,QAAQ,CAAS,CAAC,CAAC,EAAlD,QAAQ,QAAA,EAAE,WAAW,QAA6B,CAAC;IAC1D,IAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAU,KAAK,CAAC,CAAC;IAClD,IAAA,KAA8B,KAAK,CAAC,QAAQ,CAAqC,EAAE,CAAC,EAAnF,UAAU,QAAA,EAAE,aAAa,QAA0D,CAAC;
|
|
1
|
+
{"version":3,"file":"TabOverflowHook.js","sourceRoot":"","sources":["../../src/view/TabOverflowHook.tsx"],"names":[],"mappings":"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"}
|
package/lib/view/TabSet.js
CHANGED
|
@@ -5,7 +5,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
|
5
5
|
return to;
|
|
6
6
|
};
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.
|
|
8
|
+
exports.TabSet = void 0;
|
|
9
9
|
var React = require("react");
|
|
10
10
|
var I18nLabel_1 = require("../I18nLabel");
|
|
11
11
|
var Actions_1 = require("../model/Actions");
|
|
@@ -14,6 +14,7 @@ var TabButton_1 = require("./TabButton");
|
|
|
14
14
|
var TabOverflowHook_1 = require("./TabOverflowHook");
|
|
15
15
|
var Orientation_1 = require("../Orientation");
|
|
16
16
|
var Types_1 = require("../Types");
|
|
17
|
+
var Utils_1 = require("./Utils");
|
|
17
18
|
/** @hidden @internal */
|
|
18
19
|
var TabSet = function (props) {
|
|
19
20
|
var node = props.node, layout = props.layout, iconFactory = props.iconFactory, titleFactory = props.titleFactory, icons = props.icons, path = props.path;
|
|
@@ -23,8 +24,14 @@ var TabSet = function (props) {
|
|
|
23
24
|
var stickyButtonsRef = React.useRef(null);
|
|
24
25
|
var _a = TabOverflowHook_1.useTabOverflow(node, Orientation_1.default.HORZ, toolbarRef, stickyButtonsRef), selfRef = _a.selfRef, position = _a.position, userControlledLeft = _a.userControlledLeft, hiddenTabs = _a.hiddenTabs, onMouseWheel = _a.onMouseWheel, tabsTruncated = _a.tabsTruncated;
|
|
25
26
|
var onOverflowClick = function (event) {
|
|
26
|
-
var
|
|
27
|
-
|
|
27
|
+
var callback = layout.getShowOverflowMenu();
|
|
28
|
+
if (callback !== undefined) {
|
|
29
|
+
callback(node, event, hiddenTabs, onOverflowItemSelect);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
var element = overflowbuttonRef.current;
|
|
33
|
+
PopupMenu_1.showPopup(element, hiddenTabs, onOverflowItemSelect, layout, iconFactory, titleFactory);
|
|
34
|
+
}
|
|
28
35
|
event.stopPropagation();
|
|
29
36
|
};
|
|
30
37
|
var onOverflowItemSelect = function (item) {
|
|
@@ -32,7 +39,7 @@ var TabSet = function (props) {
|
|
|
32
39
|
userControlledLeft.current = false;
|
|
33
40
|
};
|
|
34
41
|
var onMouseDown = function (event) {
|
|
35
|
-
if (!isAuxMouseEvent(event)) {
|
|
42
|
+
if (!Utils_1.isAuxMouseEvent(event)) {
|
|
36
43
|
var name_1 = node.getName();
|
|
37
44
|
if (name_1 === undefined) {
|
|
38
45
|
name_1 = "";
|
|
@@ -48,7 +55,7 @@ var TabSet = function (props) {
|
|
|
48
55
|
}
|
|
49
56
|
};
|
|
50
57
|
var onAuxMouseClick = function (event) {
|
|
51
|
-
if (isAuxMouseEvent(event)) {
|
|
58
|
+
if (Utils_1.isAuxMouseEvent(event)) {
|
|
52
59
|
layout.auxMouseClick(node, event);
|
|
53
60
|
}
|
|
54
61
|
};
|
|
@@ -88,14 +95,14 @@ var TabSet = function (props) {
|
|
|
88
95
|
var selectedTabNode = node.getSelectedNode();
|
|
89
96
|
var style = node._styleWithPosition();
|
|
90
97
|
if (node.getModel().getMaximizedTabset() !== undefined && !node.isMaximized()) {
|
|
91
|
-
style.
|
|
98
|
+
Utils_1.hideElement(style, node.getModel().isUseVisibility());
|
|
92
99
|
}
|
|
93
100
|
var tabs = [];
|
|
94
101
|
if (node.isEnableTabStrip()) {
|
|
95
102
|
for (var i = 0; i < node.getChildren().length; i++) {
|
|
96
103
|
var child = node.getChildren()[i];
|
|
97
104
|
var isSelected = node.getSelected() === i;
|
|
98
|
-
tabs.push(React.createElement(TabButton_1.TabButton, { layout: layout, node: child, path: path + "/tb" + i, key: child.getId(), selected: isSelected,
|
|
105
|
+
tabs.push(React.createElement(TabButton_1.TabButton, { layout: layout, node: child, path: path + "/tb" + i, key: child.getId(), selected: isSelected, height: node.getTabStripHeight(), iconFactory: iconFactory, titleFactory: titleFactory, icons: icons }));
|
|
99
106
|
}
|
|
100
107
|
}
|
|
101
108
|
var showHeader = node.getName() !== undefined;
|
|
@@ -120,24 +127,33 @@ var TabSet = function (props) {
|
|
|
120
127
|
var toolbar;
|
|
121
128
|
if (hiddenTabs.length > 0) {
|
|
122
129
|
var overflowTitle = layout.i18nName(I18nLabel_1.I18nLabel.Overflow_Menu_Tooltip);
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
hiddenTabs
|
|
130
|
+
var overflowContent = void 0;
|
|
131
|
+
if (typeof icons.more === "function") {
|
|
132
|
+
overflowContent = icons.more(node, hiddenTabs);
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
overflowContent = (React.createElement(React.Fragment, null,
|
|
136
|
+
icons.more,
|
|
137
|
+
React.createElement("div", { className: cm(Types_1.CLASSES.FLEXLAYOUT__TAB_BUTTON_OVERFLOW_COUNT) }, hiddenTabs.length)));
|
|
138
|
+
}
|
|
139
|
+
buttons.push(React.createElement("button", { key: "overflowbutton", "data-layout-path": path + "/button/overflow", ref: overflowbuttonRef, className: cm(Types_1.CLASSES.FLEXLAYOUT__TAB_TOOLBAR_BUTTON) + " " + cm(Types_1.CLASSES.FLEXLAYOUT__TAB_BUTTON_OVERFLOW), title: overflowTitle, onClick: onOverflowClick, onMouseDown: onInterceptMouseDown, onTouchStart: onInterceptMouseDown }, overflowContent));
|
|
126
140
|
}
|
|
127
141
|
if (selectedTabNode !== undefined && layout.isSupportsPopout() && selectedTabNode.isEnableFloat() && !selectedTabNode.isFloating()) {
|
|
128
142
|
var floatTitle = layout.i18nName(I18nLabel_1.I18nLabel.Float_Tab);
|
|
129
|
-
buttons.push(React.createElement("button", { key: "float", "data-layout-path": path + "/button/float", title: floatTitle, className: cm(Types_1.CLASSES.FLEXLAYOUT__TAB_TOOLBAR_BUTTON) + " " + cm(Types_1.CLASSES.FLEXLAYOUT__TAB_TOOLBAR_BUTTON_FLOAT), onClick: onFloatTab, onMouseDown: onInterceptMouseDown, onTouchStart: onInterceptMouseDown },
|
|
143
|
+
buttons.push(React.createElement("button", { key: "float", "data-layout-path": path + "/button/float", title: floatTitle, className: cm(Types_1.CLASSES.FLEXLAYOUT__TAB_TOOLBAR_BUTTON) + " " + cm(Types_1.CLASSES.FLEXLAYOUT__TAB_TOOLBAR_BUTTON_FLOAT), onClick: onFloatTab, onMouseDown: onInterceptMouseDown, onTouchStart: onInterceptMouseDown }, (typeof icons.popout === "function") ? icons.popout(selectedTabNode) : icons.popout));
|
|
130
144
|
}
|
|
131
145
|
if (node.canMaximize()) {
|
|
132
146
|
var minTitle = layout.i18nName(I18nLabel_1.I18nLabel.Restore);
|
|
133
147
|
var maxTitle = layout.i18nName(I18nLabel_1.I18nLabel.Maximize);
|
|
134
148
|
var btns = showHeader ? headerButtons : buttons;
|
|
135
|
-
btns.push(React.createElement("button", { key: "max", "data-layout-path": path + "/button/max", title: node.isMaximized() ? minTitle : maxTitle, className: cm(Types_1.CLASSES.FLEXLAYOUT__TAB_TOOLBAR_BUTTON) + " " + cm(Types_1.CLASSES.FLEXLAYOUT__TAB_TOOLBAR_BUTTON_ + (node.isMaximized() ? "max" : "min")), onClick: onMaximizeToggle, onMouseDown: onInterceptMouseDown, onTouchStart: onInterceptMouseDown }, node.isMaximized() ?
|
|
149
|
+
btns.push(React.createElement("button", { key: "max", "data-layout-path": path + "/button/max", title: node.isMaximized() ? minTitle : maxTitle, className: cm(Types_1.CLASSES.FLEXLAYOUT__TAB_TOOLBAR_BUTTON) + " " + cm(Types_1.CLASSES.FLEXLAYOUT__TAB_TOOLBAR_BUTTON_ + (node.isMaximized() ? "max" : "min")), onClick: onMaximizeToggle, onMouseDown: onInterceptMouseDown, onTouchStart: onInterceptMouseDown }, node.isMaximized() ?
|
|
150
|
+
(typeof icons.restore === "function") ? icons.restore(node) : icons.restore :
|
|
151
|
+
(typeof icons.maximize === "function") ? icons.maximize(node) : icons.maximize));
|
|
136
152
|
}
|
|
137
153
|
if (!node.isMaximized() && node.isEnableClose()) {
|
|
138
154
|
var title = layout.i18nName(I18nLabel_1.I18nLabel.Close_Tabset);
|
|
139
155
|
var btns = showHeader ? headerButtons : buttons;
|
|
140
|
-
btns.push(React.createElement("button", { key: "close", "data-layout-path": path + "/button/close", title: title, className: cm(Types_1.CLASSES.FLEXLAYOUT__TAB_TOOLBAR_BUTTON) + " " + cm(Types_1.CLASSES.FLEXLAYOUT__TAB_TOOLBAR_BUTTON_CLOSE), onClick: onClose, onMouseDown: onInterceptMouseDown, onTouchStart: onInterceptMouseDown },
|
|
156
|
+
btns.push(React.createElement("button", { key: "close", "data-layout-path": path + "/button/close", title: title, className: cm(Types_1.CLASSES.FLEXLAYOUT__TAB_TOOLBAR_BUTTON) + " " + cm(Types_1.CLASSES.FLEXLAYOUT__TAB_TOOLBAR_BUTTON_CLOSE), onClick: onClose, onMouseDown: onInterceptMouseDown, onTouchStart: onInterceptMouseDown }, (typeof icons.closeTabset === "function") ? icons.closeTabset(node) : icons.closeTabset));
|
|
141
157
|
}
|
|
142
158
|
toolbar = (React.createElement("div", { key: "toolbar", ref: toolbarRef, className: cm(Types_1.CLASSES.FLEXLAYOUT__TAB_TOOLBAR), onMouseDown: onInterceptMouseDown, onTouchStart: onInterceptMouseDown, onDragStart: function (e) { e.preventDefault(); } }, buttons));
|
|
143
159
|
var header;
|
|
@@ -187,15 +203,4 @@ var TabSet = function (props) {
|
|
|
187
203
|
tabStrip));
|
|
188
204
|
};
|
|
189
205
|
exports.TabSet = TabSet;
|
|
190
|
-
/** @hidden @internal */
|
|
191
|
-
function isAuxMouseEvent(event) {
|
|
192
|
-
var auxEvent = false;
|
|
193
|
-
if (event.nativeEvent instanceof MouseEvent) {
|
|
194
|
-
if (event.nativeEvent.button !== 0 || event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) {
|
|
195
|
-
auxEvent = true;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
return auxEvent;
|
|
199
|
-
}
|
|
200
|
-
exports.isAuxMouseEvent = isAuxMouseEvent;
|
|
201
206
|
//# sourceMappingURL=TabSet.js.map
|
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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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isAuxMouseEvent = exports.hideElement = exports.getRenderStateEx = void 0;
|
|
4
|
+
var React = require("react");
|
|
5
|
+
/** @hidden @internal */
|
|
6
|
+
function getRenderStateEx(layout, node, iconFactory, titleFactory) {
|
|
7
|
+
var leadingContent = iconFactory ? iconFactory(node) : undefined;
|
|
8
|
+
var titleContent = node.getName();
|
|
9
|
+
var name = node.getName();
|
|
10
|
+
function isTitleObject(obj) {
|
|
11
|
+
return obj.titleContent !== undefined;
|
|
12
|
+
}
|
|
13
|
+
if (titleFactory !== undefined) {
|
|
14
|
+
var titleObj = titleFactory(node);
|
|
15
|
+
if (titleObj !== undefined) {
|
|
16
|
+
if (typeof titleObj === "string") {
|
|
17
|
+
titleContent = titleObj;
|
|
18
|
+
name = titleObj;
|
|
19
|
+
}
|
|
20
|
+
else if (isTitleObject(titleObj)) {
|
|
21
|
+
titleContent = titleObj.titleContent;
|
|
22
|
+
name = titleObj.name;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
titleContent = titleObj;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (leadingContent === undefined && node.getIcon() !== undefined) {
|
|
30
|
+
leadingContent = React.createElement("img", { style: { width: "1em", height: "1em" }, src: node.getIcon(), alt: "leadingContent" });
|
|
31
|
+
}
|
|
32
|
+
var buttons = [];
|
|
33
|
+
// allow customization of leading contents (icon) and contents
|
|
34
|
+
var renderState = { leading: leadingContent, content: titleContent, name: name, buttons: buttons };
|
|
35
|
+
layout.customizeTab(node, renderState);
|
|
36
|
+
node._setRenderedName(renderState.name);
|
|
37
|
+
return renderState;
|
|
38
|
+
}
|
|
39
|
+
exports.getRenderStateEx = getRenderStateEx;
|
|
40
|
+
/** @hidden @internal */
|
|
41
|
+
function hideElement(style, useVisibility) {
|
|
42
|
+
if (useVisibility) {
|
|
43
|
+
style.visibility = "hidden";
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
style.display = "none";
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.hideElement = hideElement;
|
|
50
|
+
/** @hidden @internal */
|
|
51
|
+
function isAuxMouseEvent(event) {
|
|
52
|
+
var auxEvent = false;
|
|
53
|
+
if (event.nativeEvent instanceof MouseEvent) {
|
|
54
|
+
if (event.nativeEvent.button !== 0 || event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) {
|
|
55
|
+
auxEvent = true;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return auxEvent;
|
|
59
|
+
}
|
|
60
|
+
exports.isAuxMouseEvent = isAuxMouseEvent;
|
|
61
|
+
//# sourceMappingURL=Utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../src/view/Utils.tsx"],"names":[],"mappings":";;;AAAA,6BAA+B;AAI/B,wBAAwB;AACxB,SAAgB,gBAAgB,CAC5B,MAAwB,EACxB,IAAa,EACb,WAA4D,EAC5D,YAA6D;IAE7D,IAAI,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,IAAI,YAAY,GAAoB,IAAI,CAAC,OAAO,EAAE,CAAC;IACnD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAE1B,SAAS,aAAa,CAAC,GAAQ;QAC3B,OAAO,GAAG,CAAC,YAAY,KAAK,SAAS,CAAA;IACzC,CAAC;IAED,IAAI,YAAY,KAAK,SAAS,EAAE;QAC5B,IAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;gBAC9B,YAAY,GAAG,QAAkB,CAAC;gBAClC,IAAI,GAAG,QAAkB,CAAC;aAC7B;iBAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;gBAChC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;gBACrC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;aACxB;iBAAM;gBACH,YAAY,GAAG,QAAQ,CAAC;aAC3B;SACJ;KACJ;IAED,IAAI,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,SAAS,EAAE;QAC9D,cAAc,GAAG,6BAAK,KAAK,EAAE,EAAC,KAAK,EAAC,KAAK,EAAE,MAAM,EAAC,KAAK,EAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAC,gBAAgB,GAAG,CAAC;KAC1G;IAED,IAAI,OAAO,GAAU,EAAE,CAAC;IAExB,8DAA8D;IAC9D,IAAM,WAAW,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,MAAA,EAAE,OAAO,SAAA,EAAE,CAAC;IACtF,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAEvC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAExC,OAAO,WAAW,CAAC;AAEvB,CAAC;AA3CD,4CA2CC;AAED,wBAAwB;AACxB,SAAgB,WAAW,CAAC,KAA0B,EAAE,aAA+B;IACnF,IAAI,aAAa,EAAE;QACf,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;KAC/B;SAAM;QACH,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;KAC1B;AACL,CAAC;AAND,kCAMC;AAGD,wBAAwB;AACxB,SAAgB,eAAe,CAAC,KAAsF;IAClH,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,KAAK,CAAC,WAAW,YAAY,UAAU,EAAE;QACzC,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;YACpG,QAAQ,GAAG,IAAI,CAAC;SACnB;KACJ;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AARD,0CAQC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flexlayout-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.2",
|
|
4
4
|
"description": "A multi-tab docking layout manager",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "./declarations/index.d.ts",
|
|
@@ -42,8 +42,6 @@
|
|
|
42
42
|
"extends": "react-app"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"react": "^17.0.2",
|
|
46
|
-
"react-dom": "^17.0.2",
|
|
47
45
|
"@cypress/react": "^5.10.2",
|
|
48
46
|
"@cypress/webpack-dev-server": "^1.7.0",
|
|
49
47
|
"@types/node": "^15.0.2",
|
|
@@ -53,6 +51,8 @@
|
|
|
53
51
|
"awesome-typescript-loader": "^5.2.0",
|
|
54
52
|
"cypress": "^8.7.0",
|
|
55
53
|
"prettier": "^2.3.0",
|
|
54
|
+
"react": "^17.0.2",
|
|
55
|
+
"react-dom": "^17.0.2",
|
|
56
56
|
"react-scripts": "4.0.3",
|
|
57
57
|
"sass": "^1.32.12",
|
|
58
58
|
"source-map-loader": "^1.1.2",
|
package/src/I18nLabel.ts
CHANGED
package/src/PopupMenu.tsx
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import * as ReactDOM from "react-dom";
|
|
3
2
|
import { DragDrop } from ".";
|
|
4
3
|
import TabNode from "./model/TabNode";
|
|
5
4
|
import { CLASSES } from "./Types";
|
|
5
|
+
import { ILayoutCallbacks } from "./view/Layout";
|
|
6
|
+
import { TabButtonStamp } from "./view/TabButtonStamp";
|
|
6
7
|
|
|
7
8
|
/** @hidden @internal */
|
|
8
9
|
export function showPopup(
|
|
9
|
-
layoutDiv: HTMLDivElement,
|
|
10
10
|
triggerElement: Element,
|
|
11
11
|
items: { index: number; node: TabNode }[],
|
|
12
12
|
onSelect: (item: { index: number; node: TabNode }) => void,
|
|
13
|
-
|
|
13
|
+
layout: ILayoutCallbacks,
|
|
14
|
+
iconFactory?: (node: TabNode) => React.ReactNode | undefined,
|
|
15
|
+
titleFactory?: (node: TabNode) => React.ReactNode | undefined,
|
|
14
16
|
) {
|
|
17
|
+
const layoutDiv = layout.getRootDiv();
|
|
18
|
+
const classNameMapper = layout.getClassName;
|
|
15
19
|
const currentDocument = triggerElement.ownerDocument;
|
|
16
20
|
const triggerRect = triggerElement.getBoundingClientRect();
|
|
17
21
|
const layoutRect = layoutDiv.getBoundingClientRect();
|
|
@@ -35,9 +39,9 @@ export function showPopup(
|
|
|
35
39
|
layoutDiv.appendChild(elm);
|
|
36
40
|
|
|
37
41
|
const onHide = () => {
|
|
42
|
+
layout.hidePortal();
|
|
38
43
|
DragDrop.instance.hideGlass();
|
|
39
44
|
layoutDiv.removeChild(elm);
|
|
40
|
-
ReactDOM.unmountComponentAtNode(elm);
|
|
41
45
|
elm.removeEventListener("mousedown", onElementMouseDown);
|
|
42
46
|
currentDocument.removeEventListener("mousedown", onDocMouseDown);
|
|
43
47
|
};
|
|
@@ -53,12 +57,15 @@ export function showPopup(
|
|
|
53
57
|
elm.addEventListener("mousedown", onElementMouseDown);
|
|
54
58
|
currentDocument.addEventListener("mousedown", onDocMouseDown);
|
|
55
59
|
|
|
56
|
-
|
|
60
|
+
layout.showPortal(<PopupMenu
|
|
57
61
|
currentDocument={currentDocument}
|
|
58
62
|
onSelect={onSelect}
|
|
59
63
|
onHide={onHide}
|
|
60
64
|
items={items}
|
|
61
65
|
classNameMapper={classNameMapper}
|
|
66
|
+
layout={layout}
|
|
67
|
+
iconFactory={iconFactory}
|
|
68
|
+
titleFactory={titleFactory}
|
|
62
69
|
/>, elm);
|
|
63
70
|
}
|
|
64
71
|
|
|
@@ -69,11 +76,14 @@ interface IPopupMenuProps {
|
|
|
69
76
|
onHide: () => void;
|
|
70
77
|
onSelect: (item: { index: number; node: TabNode }) => void;
|
|
71
78
|
classNameMapper: (defaultClassName: string) => string;
|
|
79
|
+
layout: ILayoutCallbacks;
|
|
80
|
+
iconFactory?: (node: TabNode) => React.ReactNode | undefined;
|
|
81
|
+
titleFactory?: (node: TabNode) => React.ReactNode | undefined;
|
|
72
82
|
}
|
|
73
83
|
|
|
74
84
|
/** @hidden @internal */
|
|
75
85
|
const PopupMenu = (props: IPopupMenuProps) => {
|
|
76
|
-
const { items, onHide, onSelect, classNameMapper } = props;
|
|
86
|
+
const { items, onHide, onSelect, classNameMapper, layout, iconFactory, titleFactory} = props;
|
|
77
87
|
|
|
78
88
|
const onItemClick = (item: { index: number; node: TabNode }, event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {
|
|
79
89
|
onSelect(item);
|
|
@@ -86,8 +96,15 @@ const PopupMenu = (props: IPopupMenuProps) => {
|
|
|
86
96
|
className={classNameMapper(CLASSES.FLEXLAYOUT__POPUP_MENU_ITEM)}
|
|
87
97
|
data-layout-path={"/popup-menu/tb" + i}
|
|
88
98
|
onClick={(event) => onItemClick(item, event)}
|
|
89
|
-
title={item.node.getHelpText()}>
|
|
90
|
-
{item.node.
|
|
99
|
+
title={item.node.getHelpText()} >
|
|
100
|
+
{item.node.getModel().isLegacyOverflowMenu() ?
|
|
101
|
+
item.node._getNameForOverflowMenu() :
|
|
102
|
+
<TabButtonStamp
|
|
103
|
+
node={item.node}
|
|
104
|
+
layout={layout}
|
|
105
|
+
iconFactory={iconFactory}
|
|
106
|
+
titleFactory={titleFactory}
|
|
107
|
+
/>}
|
|
91
108
|
</div>
|
|
92
109
|
));
|
|
93
110
|
|
package/src/Types.ts
CHANGED
|
@@ -68,8 +68,10 @@ export enum CLASSES {
|
|
|
68
68
|
FLEXLAYOUT__TAB_BUTTON_CONTENT = "flexlayout__tab_button_content",
|
|
69
69
|
FLEXLAYOUT__TAB_BUTTON_LEADING = "flexlayout__tab_button_leading",
|
|
70
70
|
FLEXLAYOUT__TAB_BUTTON_OVERFLOW = "flexlayout__tab_button_overflow",
|
|
71
|
+
FLEXLAYOUT__TAB_BUTTON_OVERFLOW_COUNT = "flexlayout__tab_button_overflow_count",
|
|
71
72
|
FLEXLAYOUT__TAB_BUTTON_TEXTBOX = "flexlayout__tab_button_textbox",
|
|
72
73
|
FLEXLAYOUT__TAB_BUTTON_TRAILING = "flexlayout__tab_button_trailing",
|
|
74
|
+
FLEXLAYOUT__TAB_BUTTON_STAMP = "flexlayout__tab_button_stamp",
|
|
73
75
|
|
|
74
76
|
FLEXLAYOUT__TAB_FLOATING = "flexlayout__tab_floating",
|
|
75
77
|
FLEXLAYOUT__TAB_FLOATING_INNER = "flexlayout__tab_floating_inner",
|
package/src/model/IJsonModel.ts
CHANGED
|
@@ -40,6 +40,8 @@ export interface IGlobalAttributes {
|
|
|
40
40
|
borderMinSize?: number; // default: 0
|
|
41
41
|
borderSize?: number; // default: 200
|
|
42
42
|
enableEdgeDock?: boolean; // default: true
|
|
43
|
+
enableUseVisibility?: boolean; // default: false
|
|
44
|
+
legacyOverflowMenu?: boolean; // default: false
|
|
43
45
|
marginInsets?: IInsets; // default: {"top":0,"right":0,"bottom":0,"left":0}
|
|
44
46
|
rootOrientationVertical?: boolean; // default: false
|
|
45
47
|
splitterExtra?: number; // default: 0
|
|
@@ -108,6 +110,7 @@ export interface ITabSetAttributes {
|
|
|
108
110
|
width?: number;
|
|
109
111
|
}
|
|
110
112
|
export interface ITabAttributes {
|
|
113
|
+
altName?: string;
|
|
111
114
|
borderHeight?: number; // default: -1 - inherited from global tabBorderHeight
|
|
112
115
|
borderWidth?: number; // default: -1 - inherited from global tabBorderWidth
|
|
113
116
|
className?: string; // - inherited from global tabClassName
|
package/src/model/Model.ts
CHANGED
|
@@ -52,6 +52,9 @@ class Model {
|
|
|
52
52
|
/** @hidden @internal */
|
|
53
53
|
private static _createAttributeDefinitions(): AttributeDefinitions {
|
|
54
54
|
const attributeDefinitions = new AttributeDefinitions();
|
|
55
|
+
|
|
56
|
+
attributeDefinitions.add("legacyOverflowMenu", false).setType(Attribute.BOOLEAN);
|
|
57
|
+
|
|
55
58
|
// splitter
|
|
56
59
|
attributeDefinitions.add("splitterSize", -1).setType(Attribute.NUMBER);
|
|
57
60
|
attributeDefinitions.add("splitterExtra", 0).setType(Attribute.NUMBER);
|
|
@@ -59,6 +62,7 @@ class Model {
|
|
|
59
62
|
attributeDefinitions.add("rootOrientationVertical", false).setType(Attribute.BOOLEAN);
|
|
60
63
|
attributeDefinitions.add("marginInsets", { top: 0, right: 0, bottom: 0, left: 0 })
|
|
61
64
|
.setType("IInsets");
|
|
65
|
+
attributeDefinitions.add("enableUseVisibility", false).setType(Attribute.BOOLEAN);
|
|
62
66
|
|
|
63
67
|
// tab
|
|
64
68
|
attributeDefinitions.add("tabEnableClose", true).setType(Attribute.BOOLEAN);
|
|
@@ -201,6 +205,10 @@ class Model {
|
|
|
201
205
|
return this._attributes.rootOrientationVertical as boolean;
|
|
202
206
|
}
|
|
203
207
|
|
|
208
|
+
isUseVisibility() {
|
|
209
|
+
return this._attributes.enableUseVisibility as boolean;
|
|
210
|
+
}
|
|
211
|
+
|
|
204
212
|
/**
|
|
205
213
|
* Gets the
|
|
206
214
|
* @returns {BorderSet|*}
|
|
@@ -443,6 +451,10 @@ class Model {
|
|
|
443
451
|
return splitterSize;
|
|
444
452
|
}
|
|
445
453
|
|
|
454
|
+
isLegacyOverflowMenu() {
|
|
455
|
+
return this._attributes.legacyOverflowMenu as boolean;
|
|
456
|
+
}
|
|
457
|
+
|
|
446
458
|
getSplitterExtra() {
|
|
447
459
|
return this._attributes.splitterExtra as number;
|
|
448
460
|
}
|
package/src/model/TabNode.ts
CHANGED
|
@@ -26,6 +26,7 @@ class TabNode extends Node implements IDraggable {
|
|
|
26
26
|
attributeDefinitions.add("id", undefined).setType(Attribute.STRING);
|
|
27
27
|
|
|
28
28
|
attributeDefinitions.add("name", "[Unnamed Tab]").setType(Attribute.STRING);
|
|
29
|
+
attributeDefinitions.add("altName", undefined).setType(Attribute.STRING);
|
|
29
30
|
attributeDefinitions.add("helpText", undefined).setType(Attribute.STRING);
|
|
30
31
|
attributeDefinitions.add("component", undefined).setType(Attribute.STRING);
|
|
31
32
|
attributeDefinitions.add("config", undefined).setType("any");
|
|
@@ -84,7 +85,11 @@ class TabNode extends Node implements IDraggable {
|
|
|
84
85
|
}
|
|
85
86
|
|
|
86
87
|
/** @hidden @internal */
|
|
87
|
-
|
|
88
|
+
_getNameForOverflowMenu() {
|
|
89
|
+
const altName = this._getAttr("altName") as string;
|
|
90
|
+
if (altName !== undefined) {
|
|
91
|
+
return altName;
|
|
92
|
+
}
|
|
88
93
|
return this._renderedName;
|
|
89
94
|
}
|
|
90
95
|
|
|
@@ -3,10 +3,10 @@ import { I18nLabel } from "..";
|
|
|
3
3
|
import Actions from "../model/Actions";
|
|
4
4
|
import TabNode from "../model/TabNode";
|
|
5
5
|
import Rect from "../Rect";
|
|
6
|
-
import { IIcons, ILayoutCallbacks
|
|
6
|
+
import { IIcons, ILayoutCallbacks } from "./Layout";
|
|
7
7
|
import { ICloseType } from "../model/ICloseType";
|
|
8
8
|
import { CLASSES } from "../Types";
|
|
9
|
-
import { isAuxMouseEvent } from "./
|
|
9
|
+
import { getRenderStateEx, isAuxMouseEvent } from "./Utils";
|
|
10
10
|
|
|
11
11
|
/** @hidden @internal */
|
|
12
12
|
export interface IBorderButtonProps {
|
|
@@ -27,8 +27,7 @@ export const BorderButton = (props: IBorderButtonProps) => {
|
|
|
27
27
|
|
|
28
28
|
const onMouseDown = (event: React.MouseEvent<HTMLDivElement, MouseEvent> | React.TouchEvent<HTMLDivElement>) => {
|
|
29
29
|
if (!isAuxMouseEvent(event)) {
|
|
30
|
-
|
|
31
|
-
props.layout.dragStart(event, message, node, node.isEnableDrag(), onClick, (event2: Event) => undefined);
|
|
30
|
+
props.layout.dragStart(event, undefined, node, node.isEnableDrag(), onClick, (event2: Event) => undefined);
|
|
32
31
|
}
|
|
33
32
|
};
|
|
34
33
|
|
|
@@ -96,46 +95,14 @@ export const BorderButton = (props: IBorderButtonProps) => {
|
|
|
96
95
|
classNames += " " + node.getClassName();
|
|
97
96
|
}
|
|
98
97
|
|
|
99
|
-
|
|
100
|
-
let titleContent: React.ReactNode = node.getName();
|
|
101
|
-
let name = node.getName();
|
|
102
|
-
|
|
103
|
-
function isTitleObject(obj: any): obj is ITitleObject {
|
|
104
|
-
return obj.titleContent !== undefined
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
if (titleFactory !== undefined) {
|
|
108
|
-
const titleObj = titleFactory(node);
|
|
109
|
-
if (titleObj !== undefined) {
|
|
110
|
-
if (typeof titleObj === "string") {
|
|
111
|
-
titleContent = titleObj as string;
|
|
112
|
-
name = titleObj as string;
|
|
113
|
-
} else if (isTitleObject(titleObj)) {
|
|
114
|
-
titleContent = titleObj.titleContent;
|
|
115
|
-
name = titleObj.name;
|
|
116
|
-
} else {
|
|
117
|
-
titleContent = titleObj;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
if (leadingContent === undefined && node.getIcon() !== undefined) {
|
|
123
|
-
leadingContent = <img src={node.getIcon()} alt="leadingContent" />;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
let buttons: any[] = [];
|
|
127
|
-
|
|
128
|
-
// allow customization of leading contents (icon) and contents
|
|
129
|
-
const renderState = { leading: leadingContent, content: titleContent, name, buttons };
|
|
130
|
-
layout.customizeTab(node, renderState);
|
|
131
|
-
node._setRenderedName(renderState.name);
|
|
98
|
+
const renderState = getRenderStateEx(layout, node, iconFactory, titleFactory);
|
|
132
99
|
|
|
133
|
-
const content = <div className={cm(CLASSES.FLEXLAYOUT__BORDER_BUTTON_CONTENT)}>{renderState.content}</div
|
|
134
|
-
const leading = <div className={cm(CLASSES.FLEXLAYOUT__BORDER_BUTTON_LEADING)}>{renderState.leading}</div
|
|
100
|
+
const content = renderState.content ? (<div className={cm(CLASSES.FLEXLAYOUT__BORDER_BUTTON_CONTENT)}>{renderState.content}</div>) : null;
|
|
101
|
+
const leading = renderState.leading ? (<div className={cm(CLASSES.FLEXLAYOUT__BORDER_BUTTON_LEADING)}>{renderState.leading}</div>) : null;
|
|
135
102
|
|
|
136
103
|
if (node.isEnableClose()) {
|
|
137
104
|
const closeTitle = layout.i18nName(I18nLabel.Close_Tab);
|
|
138
|
-
buttons.push(
|
|
105
|
+
renderState.buttons.push(
|
|
139
106
|
<div
|
|
140
107
|
key="close"
|
|
141
108
|
data-layout-path={path + "/button/close"}
|
|
@@ -160,7 +127,7 @@ export const BorderButton = (props: IBorderButtonProps) => {
|
|
|
160
127
|
title={node.getHelpText()}>
|
|
161
128
|
{leading}
|
|
162
129
|
{content}
|
|
163
|
-
{buttons}
|
|
130
|
+
{renderState.buttons}
|
|
164
131
|
</div>
|
|
165
132
|
);
|
|
166
133
|
};
|