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.
Files changed (81) hide show
  1. package/ChangeLog.txt +22 -0
  2. package/README.md +9 -13
  3. package/declarations/Types.d.ts +2 -0
  4. package/declarations/model/IJsonModel.d.ts +3 -0
  5. package/declarations/model/Model.d.ts +2 -0
  6. package/declarations/view/Icons.d.ts +6 -0
  7. package/declarations/view/Layout.d.ts +23 -10
  8. package/declarations/view/MenuTabButton.d.ts +1 -0
  9. package/declarations/view/TabButtonStamp.d.ts +1 -0
  10. package/declarations/view/Utils.d.ts +1 -0
  11. package/dist/flexlayout.js +49 -13
  12. package/dist/flexlayout_min.js +1 -1
  13. package/lib/PopupMenu.js +10 -6
  14. package/lib/PopupMenu.js.map +1 -1
  15. package/lib/Types.js +2 -0
  16. package/lib/Types.js.map +1 -1
  17. package/lib/model/Model.js +8 -0
  18. package/lib/model/Model.js.map +1 -1
  19. package/lib/model/TabNode.js +6 -1
  20. package/lib/model/TabNode.js.map +1 -1
  21. package/lib/view/BorderButton.js +9 -39
  22. package/lib/view/BorderButton.js.map +1 -1
  23. package/lib/view/BorderTabSet.js +21 -8
  24. package/lib/view/BorderTabSet.js.map +1 -1
  25. package/lib/view/FloatingWindow.js +13 -5
  26. package/lib/view/FloatingWindow.js.map +1 -1
  27. package/lib/view/Icons.js +36 -0
  28. package/lib/view/Icons.js.map +1 -0
  29. package/lib/view/Layout.js +58 -13
  30. package/lib/view/Layout.js.map +1 -1
  31. package/lib/view/MenuTabButton.js +22 -0
  32. package/lib/view/MenuTabButton.js.map +1 -0
  33. package/lib/view/Tab.js +7 -4
  34. package/lib/view/Tab.js.map +1 -1
  35. package/lib/view/TabButton.js +13 -46
  36. package/lib/view/TabButton.js.map +1 -1
  37. package/lib/view/TabButtonStamp.js +22 -0
  38. package/lib/view/TabButtonStamp.js.map +1 -0
  39. package/lib/view/TabFloating.js +5 -3
  40. package/lib/view/TabFloating.js.map +1 -1
  41. package/lib/view/TabOverflowHook.js +3 -1
  42. package/lib/view/TabOverflowHook.js.map +1 -1
  43. package/lib/view/TabSet.js +29 -24
  44. package/lib/view/TabSet.js.map +1 -1
  45. package/lib/view/Utils.js +61 -0
  46. package/lib/view/Utils.js.map +1 -0
  47. package/package.json +3 -3
  48. package/src/I18nLabel.ts +1 -1
  49. package/src/PopupMenu.tsx +25 -8
  50. package/src/Types.ts +2 -0
  51. package/src/model/IJsonModel.ts +3 -0
  52. package/src/model/Model.ts +12 -0
  53. package/src/model/TabNode.ts +6 -1
  54. package/src/view/BorderButton.tsx +8 -41
  55. package/src/view/BorderTabSet.tsx +28 -8
  56. package/src/view/FloatingWindow.tsx +14 -6
  57. package/src/view/Icons.tsx +36 -0
  58. package/src/view/Layout.tsx +88 -34
  59. package/src/view/Tab.tsx +9 -4
  60. package/src/view/TabButton.tsx +18 -55
  61. package/src/view/TabButtonStamp.tsx +47 -0
  62. package/src/view/TabFloating.tsx +5 -3
  63. package/src/view/TabOverflowHook.tsx +3 -2
  64. package/src/view/TabSet.tsx +33 -21
  65. package/src/view/Utils.tsx +71 -0
  66. package/style/_base.scss +81 -46
  67. package/style/dark.css +79 -68
  68. package/style/dark.css.map +1 -1
  69. package/style/dark.scss +15 -5
  70. package/style/gray.css +76 -65
  71. package/style/gray.css.map +1 -1
  72. package/style/gray.scss +10 -3
  73. package/style/light.css +80 -69
  74. package/style/light.css.map +1 -1
  75. package/style/light.scss +16 -6
  76. package/images/close.png +0 -0
  77. package/images/maximize.png +0 -0
  78. package/images/more.png +0 -0
  79. package/images/more2.png +0 -0
  80. package/images/popout.png +0 -0
  81. 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":"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"}
1
+ {"version":3,"file":"TabOverflowHook.js","sourceRoot":"","sources":["../../src/view/TabOverflowHook.tsx"],"names":[],"mappings":"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"}
@@ -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.isAuxMouseEvent = exports.TabSet = void 0;
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 element = overflowbuttonRef.current;
27
- PopupMenu_1.showPopup(layout.getRootDiv(), element, hiddenTabs, onOverflowItemSelect, layout.getClassName);
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.display = "none";
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, show: true, height: node.getTabStripHeight(), iconFactory: iconFactory, titleFactory: titleFactory, icons: icons }));
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
- buttons.push(React.createElement("button", { key: "overflowbutton", "data-layout-path": path + "/button/overflow", ref: overflowbuttonRef, className: cm(Types_1.CLASSES.FLEXLAYOUT__TAB_BUTTON_OVERFLOW), title: overflowTitle, onClick: onOverflowClick, onMouseDown: onInterceptMouseDown, onTouchStart: onInterceptMouseDown }, icons === null || icons === void 0 ? void 0 :
124
- icons.more,
125
- hiddenTabs.length));
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 }, icons === null || icons === void 0 ? void 0 : icons.popout));
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() ? icons === null || icons === void 0 ? void 0 : icons.restore : icons === null || icons === void 0 ? void 0 : icons.maximize));
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 }, icons === null || icons === void 0 ? void 0 : icons.closeTabset));
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
@@ -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.5.20",
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
@@ -1,7 +1,7 @@
1
1
  export enum I18nLabel {
2
2
  Close_Tab = "Close",
3
3
  Close_Tabset = "Close tabset",
4
- Move_Tab = "Move: ",
4
+ Move_Tab = "Move: ", // no longer used
5
5
  Move_Tabset = "Move tabset",
6
6
  Maximize = "Maximize tabset",
7
7
  Restore = "Restore tabset",
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
- classNameMapper: (defaultClassName: string) => string
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
- ReactDOM.render(<PopupMenu
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._getRenderedName()}
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",
@@ -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
@@ -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
  }
@@ -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
- _getRenderedName() {
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, ITitleObject } from "./Layout";
6
+ import { IIcons, ILayoutCallbacks } from "./Layout";
7
7
  import { ICloseType } from "../model/ICloseType";
8
8
  import { CLASSES } from "../Types";
9
- import { isAuxMouseEvent } from "./TabSet";
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
- const message = layout.i18nName(I18nLabel.Move_Tab, node.getName());
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
- let leadingContent = iconFactory ? iconFactory(node) : undefined;
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
  };