flexlayout-react 0.6.3 → 0.6.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.
Files changed (106) hide show
  1. package/ChangeLog.txt +4 -0
  2. package/README.md +1 -1
  3. package/declarations/model/Model.d.ts +1 -2
  4. package/declarations/model/RowNode.d.ts +0 -2
  5. package/dist/flexlayout.js +193 -319
  6. package/dist/flexlayout_min.js +1 -1
  7. package/lib/Attribute.js +1 -1
  8. package/lib/Attribute.js.map +1 -1
  9. package/lib/AttributeDefinitions.js +13 -9
  10. package/lib/AttributeDefinitions.js.map +1 -1
  11. package/lib/DockLocation.js +6 -6
  12. package/lib/DockLocation.js.map +1 -1
  13. package/lib/DragDrop.js +24 -22
  14. package/lib/DragDrop.js.map +1 -1
  15. package/lib/Orientation.js +1 -1
  16. package/lib/Orientation.js.map +1 -1
  17. package/lib/PopupMenu.js +6 -6
  18. package/lib/PopupMenu.js.map +1 -1
  19. package/lib/Rect.js +1 -1
  20. package/lib/Rect.js.map +1 -1
  21. package/lib/model/BorderNode.js +31 -31
  22. package/lib/model/BorderNode.js.map +1 -1
  23. package/lib/model/BorderSet.js +18 -14
  24. package/lib/model/BorderSet.js.map +1 -1
  25. package/lib/model/Model.js +40 -35
  26. package/lib/model/Model.js.map +1 -1
  27. package/lib/model/Node.js +29 -28
  28. package/lib/model/Node.js.map +1 -1
  29. package/lib/model/RowNode.js +53 -50
  30. package/lib/model/RowNode.js.map +1 -1
  31. package/lib/model/SplitterNode.js +11 -11
  32. package/lib/model/SplitterNode.js.map +1 -1
  33. package/lib/model/TabNode.js +17 -17
  34. package/lib/model/TabNode.js.map +1 -1
  35. package/lib/model/TabSetNode.js +52 -51
  36. package/lib/model/TabSetNode.js.map +1 -1
  37. package/lib/model/Utils.js +3 -3
  38. package/lib/model/Utils.js.map +1 -1
  39. package/lib/view/BorderButton.js +52 -12
  40. package/lib/view/BorderButton.js.map +1 -1
  41. package/lib/view/BorderTabSet.js +4 -4
  42. package/lib/view/BorderTabSet.js.map +1 -1
  43. package/lib/view/ErrorBoundary.js +1 -1
  44. package/lib/view/ErrorBoundary.js.map +1 -1
  45. package/lib/view/FloatingWindow.js +27 -16
  46. package/lib/view/FloatingWindow.js.map +1 -1
  47. package/lib/view/FloatingWindowTab.js +1 -1
  48. package/lib/view/FloatingWindowTab.js.map +1 -1
  49. package/lib/view/Layout.js +80 -75
  50. package/lib/view/Layout.js.map +1 -1
  51. package/lib/view/Splitter.js +1 -1
  52. package/lib/view/Splitter.js.map +1 -1
  53. package/lib/view/Tab.js +5 -5
  54. package/lib/view/Tab.js.map +1 -1
  55. package/lib/view/TabButton.js +10 -15
  56. package/lib/view/TabButton.js.map +1 -1
  57. package/lib/view/TabButtonStamp.js +2 -2
  58. package/lib/view/TabButtonStamp.js.map +1 -1
  59. package/lib/view/TabFloating.js +2 -2
  60. package/lib/view/TabFloating.js.map +1 -1
  61. package/lib/view/TabOverflowHook.js +1 -1
  62. package/lib/view/TabOverflowHook.js.map +1 -1
  63. package/lib/view/TabSet.js +16 -12
  64. package/lib/view/TabSet.js.map +1 -1
  65. package/lib/view/Utils.js +3 -3
  66. package/lib/view/Utils.js.map +1 -1
  67. package/package.json +20 -14
  68. package/src/Attribute.ts +1 -1
  69. package/src/AttributeDefinitions.ts +9 -9
  70. package/src/DockLocation.ts +9 -9
  71. package/src/DragDrop.ts +42 -38
  72. package/src/Orientation.ts +2 -2
  73. package/src/PopupMenu.tsx +4 -4
  74. package/src/Rect.ts +1 -1
  75. package/src/model/BorderNode.ts +29 -28
  76. package/src/model/BorderSet.ts +16 -16
  77. package/src/model/IDraggable.ts +2 -2
  78. package/src/model/IDropTarget.ts +3 -3
  79. package/src/model/Model.ts +41 -41
  80. package/src/model/Node.ts +38 -38
  81. package/src/model/RowNode.ts +46 -44
  82. package/src/model/SplitterNode.ts +11 -11
  83. package/src/model/TabNode.ts +21 -21
  84. package/src/model/TabSetNode.ts +46 -44
  85. package/src/model/Utils.ts +3 -3
  86. package/src/view/BorderButton.tsx +82 -14
  87. package/src/view/BorderTabSet.tsx +2 -2
  88. package/src/view/ErrorBoundary.tsx +3 -3
  89. package/src/view/FloatingWindow.tsx +8 -6
  90. package/src/view/FloatingWindowTab.tsx +2 -2
  91. package/src/view/Layout.tsx +93 -93
  92. package/src/view/Splitter.tsx +2 -2
  93. package/src/view/Tab.tsx +3 -3
  94. package/src/view/TabButton.tsx +11 -15
  95. package/src/view/TabButtonStamp.tsx +2 -2
  96. package/src/view/TabFloating.tsx +2 -2
  97. package/src/view/TabOverflowHook.tsx +1 -1
  98. package/src/view/TabSet.tsx +2 -3
  99. package/src/view/Utils.tsx +3 -3
  100. package/style/_base.scss +1 -0
  101. package/style/dark.css +1 -0
  102. package/style/dark.css.map +1 -1
  103. package/style/gray.css +1 -0
  104. package/style/gray.css.map +1 -1
  105. package/style/light.css +1 -0
  106. package/style/light.css.map +1 -1
@@ -9,12 +9,12 @@ export class DockLocation {
9
9
  static RIGHT = new DockLocation("right", Orientation.HORZ, 1);
10
10
  static CENTER = new DockLocation("center", Orientation.VERT, 0);
11
11
 
12
- /** @hidden @internal */
12
+ /** @internal */
13
13
  static getByName(name: string): DockLocation {
14
14
  return DockLocation.values[name];
15
15
  }
16
16
 
17
- /** @hidden @internal */
17
+ /** @internal */
18
18
  static getLocation(rect: Rect, x: number, y: number) {
19
19
  x = (x - rect.x) / rect.width;
20
20
  y = (y - rect.y) / rect.height;
@@ -50,14 +50,14 @@ export class DockLocation {
50
50
  }
51
51
  }
52
52
 
53
- /** @hidden @internal */
53
+ /** @internal */
54
54
  _name: string;
55
- /** @hidden @internal */
55
+ /** @internal */
56
56
  _orientation: Orientation;
57
- /** @hidden @internal */
57
+ /** @internal */
58
58
  _indexPlus: number;
59
59
 
60
- /** @hidden @internal */
60
+ /** @internal */
61
61
  constructor(name: string, orientation: Orientation, indexPlus: number) {
62
62
  this._name = name;
63
63
  this._orientation = orientation;
@@ -73,7 +73,7 @@ export class DockLocation {
73
73
  return this._orientation;
74
74
  }
75
75
 
76
- /** @hidden @internal */
76
+ /** @internal */
77
77
  getDockRect(r: Rect) {
78
78
  if (this === DockLocation.TOP) {
79
79
  return new Rect(r.x, r.y, r.width, r.height / 2);
@@ -89,7 +89,7 @@ export class DockLocation {
89
89
  }
90
90
  }
91
91
 
92
- /** @hidden @internal */
92
+ /** @internal */
93
93
  split(rect: Rect, size: number) {
94
94
  if (this === DockLocation.TOP) {
95
95
  const r1 = new Rect(rect.x, rect.y, rect.width, size);
@@ -112,7 +112,7 @@ export class DockLocation {
112
112
  }
113
113
  }
114
114
 
115
- /** @hidden @internal */
115
+ /** @internal */
116
116
  reflect() {
117
117
  if (this === DockLocation.TOP) {
118
118
  return DockLocation.BOTTOM;
package/src/DragDrop.ts CHANGED
@@ -1,59 +1,59 @@
1
1
  import * as React from "react";
2
2
  import { Rect } from "./Rect";
3
3
 
4
- /** @hidden @internal */
4
+ /** @internal */
5
5
  const canUseDOM = !!(typeof window !== "undefined" && window.document && window.document.createElement);
6
6
 
7
7
  export class DragDrop {
8
8
  static instance = new DragDrop();
9
9
 
10
- /** @hidden @internal */
10
+ /** @internal */
11
11
  private _fDblClick: ((event: Event) => void) | undefined;
12
- /** @hidden @internal */
12
+ /** @internal */
13
13
  private _fClick: ((event: Event) => void) | undefined;
14
- /** @hidden @internal */
14
+ /** @internal */
15
15
  private _fDragEnd: ((event: Event) => void) | undefined;
16
- /** @hidden @internal */
16
+ /** @internal */
17
17
  private _fDragMove: ((event: React.MouseEvent<Element>) => void) | undefined;
18
- /** @hidden @internal */
18
+ /** @internal */
19
19
  private _fDragStart: ((pos: { clientX: number; clientY: number }) => boolean) | undefined;
20
- /** @hidden @internal */
20
+ /** @internal */
21
21
  private _fDragCancel: ((wasDragging: boolean) => void) | undefined;
22
22
 
23
- /** @hidden @internal */
23
+ /** @internal */
24
24
  private _glass: HTMLDivElement | undefined;
25
- /** @hidden @internal */
25
+ /** @internal */
26
26
  private _defaultGlassCursor: string;
27
- /** @hidden @internal */
27
+ /** @internal */
28
28
  private _glassCursorOverride: string | undefined;
29
- /** @hidden @internal */
29
+ /** @internal */
30
30
  private _manualGlassManagement: boolean = false;
31
- /** @hidden @internal */
31
+ /** @internal */
32
32
  private _lastClick: number;
33
- /** @hidden @internal */
33
+ /** @internal */
34
34
  private _clickX: number;
35
- /** @hidden @internal */
35
+ /** @internal */
36
36
  private _clickY: number;
37
- /** @hidden @internal */
37
+ /** @internal */
38
38
  private _startX: number = 0;
39
- /** @hidden @internal */
39
+ /** @internal */
40
40
  private _startY: number = 0;
41
- /** @hidden @internal */
41
+ /** @internal */
42
42
  private _dragDepth: number = 0;
43
- /** @hidden @internal */
43
+ /** @internal */
44
44
  private _glassShowing: boolean = false;
45
- /** @hidden @internal */
45
+ /** @internal */
46
46
  private _dragging: boolean = false;
47
- /** @hidden @internal */
47
+ /** @internal */
48
48
  private _active: boolean = false; // drag and drop is in progress, can be used on ios to prevent body scrolling (see demo)
49
- /** @hidden @internal */
49
+ /** @internal */
50
50
  private _document?: HTMLDocument;
51
- /** @hidden @internal */
51
+ /** @internal */
52
52
  private _rootElement?: HTMLElement | undefined;
53
- /** @hidden @internal */
53
+ /** @internal */
54
54
  private _lastEvent?: Event | React.MouseEvent<HTMLDivElement, MouseEvent> | React.TouchEvent<HTMLDivElement> | React.DragEvent<Element> | undefined;
55
55
 
56
- /** @hidden @internal */
56
+ /** @internal */
57
57
  private constructor() {
58
58
  if (canUseDOM) {
59
59
  // check for serverside rendering
@@ -121,12 +121,12 @@ export class DragDrop {
121
121
  }
122
122
  }
123
123
 
124
- /** @hidden @internal */
124
+ /** @internal */
125
125
  _updateGlassCursor() {
126
126
  this._glass!.style.cursor = this._glassCursorOverride ?? this._defaultGlassCursor;
127
127
  }
128
128
 
129
- /** @hidden @internal */
129
+ /** @internal */
130
130
  _setDefaultGlassCursor(cursor: string) {
131
131
  this._defaultGlassCursor = cursor;
132
132
  this._updateGlassCursor()
@@ -226,7 +226,7 @@ export class DragDrop {
226
226
  return rtn;
227
227
  }
228
228
 
229
- /** @hidden @internal */
229
+ /** @internal */
230
230
  private _onKeyPress(event: KeyboardEvent) {
231
231
  if (event.keyCode === 27) {
232
232
  // esc
@@ -234,7 +234,7 @@ export class DragDrop {
234
234
  }
235
235
  }
236
236
 
237
- /** @hidden @internal */
237
+ /** @internal */
238
238
  private _onDragCancel() {
239
239
  this._rootElement!.removeEventListener("dragenter", this._onDragEnter);
240
240
  this._rootElement!.removeEventListener("dragover", this._onMouseMove);
@@ -253,7 +253,7 @@ export class DragDrop {
253
253
  this._active = false;
254
254
  }
255
255
 
256
- /** @hidden @internal */
256
+ /** @internal */
257
257
  private _getLocationEvent(event: any) {
258
258
  let posEvent: any = event;
259
259
  if (event && event.touches) {
@@ -262,7 +262,7 @@ export class DragDrop {
262
262
  return posEvent;
263
263
  }
264
264
 
265
- /** @hidden @internal */
265
+ /** @internal */
266
266
  private _getLocationEventEnd(event: any) {
267
267
  let posEvent: any = event;
268
268
  if (event.changedTouches) {
@@ -271,14 +271,14 @@ export class DragDrop {
271
271
  return posEvent;
272
272
  }
273
273
 
274
- /** @hidden @internal */
274
+ /** @internal */
275
275
  private _stopPropagation(event: Event | React.MouseEvent<HTMLDivElement, MouseEvent> | React.TouchEvent<HTMLDivElement> | React.DragEvent<Element>) {
276
276
  if (event.stopPropagation) {
277
277
  event.stopPropagation();
278
278
  }
279
279
  }
280
280
 
281
- /** @hidden @internal */
281
+ /** @internal */
282
282
  private _preventDefault(event: Event | React.MouseEvent<HTMLDivElement, MouseEvent> | React.TouchEvent<HTMLDivElement> | React.DragEvent<Element>) {
283
283
  if (event.preventDefault && event.cancelable) {
284
284
  event.preventDefault();
@@ -286,7 +286,7 @@ export class DragDrop {
286
286
  return event;
287
287
  }
288
288
 
289
- /** @hidden @internal */
289
+ /** @internal */
290
290
  private _onMouseMove(event: Event | React.MouseEvent<HTMLDivElement, MouseEvent> | React.TouchEvent<HTMLDivElement> | React.DragEvent<Element>) {
291
291
  this._lastEvent = event;
292
292
 
@@ -310,7 +310,7 @@ export class DragDrop {
310
310
  return false;
311
311
  }
312
312
 
313
- /** @hidden @internal */
313
+ /** @internal */
314
314
  private _onMouseUp(event: Event) {
315
315
  this._lastEvent = event;
316
316
 
@@ -346,19 +346,23 @@ export class DragDrop {
346
346
  this._fDragCancel(this._dragging);
347
347
  }
348
348
  if (Math.abs(this._startX - posEvent.clientX) <= 5 && Math.abs(this._startY - posEvent.clientY) <= 5) {
349
+
350
+ let isDoubleClick = false;
349
351
  const clickTime = new Date().getTime();
350
352
  // check for double click
351
353
  if (Math.abs(this._clickX - posEvent.clientX) <= 5 && Math.abs(this._clickY - posEvent.clientY) <= 5) {
352
354
  if (clickTime - this._lastClick < 500) {
353
355
  if (this._fDblClick) {
354
356
  this._fDblClick(event);
357
+ isDoubleClick = true;
355
358
  }
356
359
  }
357
360
  }
358
-
359
- if (this._fClick) {
361
+
362
+ if (!isDoubleClick && this._fClick) {
360
363
  this._fClick(event);
361
364
  }
365
+
362
366
  this._lastClick = clickTime;
363
367
  this._clickX = posEvent.clientX;
364
368
  this._clickY = posEvent.clientY;
@@ -367,7 +371,7 @@ export class DragDrop {
367
371
  return false;
368
372
  }
369
373
 
370
- /** @hidden @internal */
374
+ /** @internal */
371
375
  private _onDragEnter(event: DragEvent) {
372
376
  this._preventDefault(event);
373
377
  this._stopPropagation(event);
@@ -375,7 +379,7 @@ export class DragDrop {
375
379
  return false;
376
380
  }
377
381
 
378
- /** @hidden @internal */
382
+ /** @internal */
379
383
  private _onDragLeave(event: DragEvent) {
380
384
  this._preventDefault(event);
381
385
  this._stopPropagation(event);
@@ -10,10 +10,10 @@ export class Orientation {
10
10
  }
11
11
  }
12
12
 
13
- /** @hidden @internal */
13
+ /** @internal */
14
14
  private _name: string;
15
15
 
16
- /** @hidden @internal */
16
+ /** @internal */
17
17
  private constructor(name: string) {
18
18
  this._name = name;
19
19
  }
package/src/PopupMenu.tsx CHANGED
@@ -1,11 +1,11 @@
1
1
  import * as React from "react";
2
- import { DragDrop } from ".";
2
+ import { DragDrop } from "./DragDrop";
3
3
  import { TabNode } from "./model/TabNode";
4
4
  import { CLASSES } from "./Types";
5
5
  import { ILayoutCallbacks } from "./view/Layout";
6
6
  import { TabButtonStamp } from "./view/TabButtonStamp";
7
7
 
8
- /** @hidden @internal */
8
+ /** @internal */
9
9
  export function showPopup(
10
10
  triggerElement: Element,
11
11
  items: { index: number; node: TabNode }[],
@@ -69,7 +69,7 @@ export function showPopup(
69
69
  />, elm);
70
70
  }
71
71
 
72
- /** @hidden @internal */
72
+ /** @internal */
73
73
  interface IPopupMenuProps {
74
74
  items: { index: number; node: TabNode }[];
75
75
  currentDocument: Document;
@@ -81,7 +81,7 @@ interface IPopupMenuProps {
81
81
  titleFactory?: (node: TabNode) => React.ReactNode | undefined;
82
82
  }
83
83
 
84
- /** @hidden @internal */
84
+ /** @internal */
85
85
  const PopupMenu = (props: IPopupMenuProps) => {
86
86
  const { items, onHide, onSelect, classNameMapper, layout, iconFactory, titleFactory} = props;
87
87
 
package/src/Rect.ts CHANGED
@@ -76,7 +76,7 @@ export class Rect {
76
76
  this.y = (outerRect.height - this.height) / 2;
77
77
  }
78
78
 
79
- /** @hidden @internal */
79
+ /** @internal */
80
80
  _getSize(orientation: Orientation) {
81
81
  let prefSize = this.width;
82
82
  if (orientation === Orientation.VERT) {
@@ -18,7 +18,7 @@ import { adjustSelectedIndex } from "./Utils";
18
18
  export class BorderNode extends Node implements IDropTarget {
19
19
  static readonly TYPE = "border";
20
20
 
21
- /** @hidden @internal */
21
+ /** @internal */
22
22
  static _fromJson(json: any, model: Model) {
23
23
  const location = DockLocation.getByName(json.location);
24
24
  const border = new BorderNode(location, json, model);
@@ -32,10 +32,10 @@ export class BorderNode extends Node implements IDropTarget {
32
32
 
33
33
  return border;
34
34
  }
35
- /** @hidden @internal */
35
+ /** @internal */
36
36
  private static _attributeDefinitions: AttributeDefinitions = BorderNode._createAttributeDefinitions();
37
37
 
38
- /** @hidden @internal */
38
+ /** @internal */
39
39
  private static _createAttributeDefinitions(): AttributeDefinitions {
40
40
  const attributeDefinitions = new AttributeDefinitions();
41
41
  attributeDefinitions.add("type", BorderNode.TYPE, true).setType(Attribute.STRING).setFixed();
@@ -55,20 +55,20 @@ export class BorderNode extends Node implements IDropTarget {
55
55
  return attributeDefinitions;
56
56
  }
57
57
 
58
- /** @hidden @internal */
58
+ /** @internal */
59
59
  private _contentRect?: Rect;
60
- /** @hidden @internal */
60
+ /** @internal */
61
61
  private _tabHeaderRect?: Rect;
62
- /** @hidden @internal */
62
+ /** @internal */
63
63
  private _location: DockLocation;
64
- /** @hidden @internal */
64
+ /** @internal */
65
65
  private _drawChildren: Node[];
66
- /** @hidden @internal */
66
+ /** @internal */
67
67
  private _adjustedSize: number = 0;
68
- /** @hidden @internal */
68
+ /** @internal */
69
69
  private _calculatedBorderBarSize: number = 0;
70
70
 
71
- /** @hidden @internal */
71
+ /** @internal */
72
72
  constructor(location: DockLocation, json: any, model: Model) {
73
73
  super(model);
74
74
 
@@ -114,7 +114,7 @@ export class BorderNode extends Node implements IDropTarget {
114
114
  return this._getAttr("className") as string | undefined;
115
115
  }
116
116
 
117
- /** @hidden @internal */
117
+ /** @internal */
118
118
  calcBorderBarSize(metrics: ILayoutMetrics) {
119
119
  const barSize = this._getAttr("barSize") as number;
120
120
  if (barSize !== 0) {
@@ -195,12 +195,12 @@ export class BorderNode extends Node implements IDropTarget {
195
195
  return this._getAttr("enableAutoHide") as boolean;
196
196
  }
197
197
 
198
- /** @hidden @internal */
198
+ /** @internal */
199
199
  _setSelected(index: number) {
200
200
  this._attributes.selected = index;
201
201
  }
202
202
 
203
- /** @hidden @internal */
203
+ /** @internal */
204
204
  _setSize(pos: number) {
205
205
  const selected = this.getSelected();
206
206
  if (selected === -1) {
@@ -220,27 +220,27 @@ export class BorderNode extends Node implements IDropTarget {
220
220
  }
221
221
  }
222
222
 
223
- /** @hidden @internal */
223
+ /** @internal */
224
224
  _updateAttrs(json: any) {
225
225
  BorderNode._attributeDefinitions.update(json, this._attributes);
226
226
  }
227
227
 
228
- /** @hidden @internal */
228
+ /** @internal */
229
229
  _getDrawChildren() {
230
230
  return this._drawChildren;
231
231
  }
232
232
 
233
- /** @hidden @internal */
233
+ /** @internal */
234
234
  _setAdjustedSize(size: number) {
235
235
  this._adjustedSize = size;
236
236
  }
237
237
 
238
- /** @hidden @internal */
238
+ /** @internal */
239
239
  _getAdjustedSize() {
240
240
  return this._adjustedSize;
241
241
  }
242
242
 
243
- /** @hidden @internal */
243
+ /** @internal */
244
244
  _layoutBorderOuter(outer: Rect, metrics: ILayoutMetrics) {
245
245
  this.calcBorderBarSize(metrics);
246
246
  const split1 = this._location.split(outer, this.getBorderBarSize()); // split border outer
@@ -248,7 +248,7 @@ export class BorderNode extends Node implements IDropTarget {
248
248
  return split1.end;
249
249
  }
250
250
 
251
- /** @hidden @internal */
251
+ /** @internal */
252
252
  _layoutBorderInner(inner: Rect, metrics: ILayoutMetrics) {
253
253
  this._drawChildren = [];
254
254
  const location = this._location;
@@ -258,11 +258,12 @@ export class BorderNode extends Node implements IDropTarget {
258
258
 
259
259
  this._contentRect = split2.end;
260
260
 
261
- this._children.forEach((child, i) => {
261
+ for (let i = 0; i< this._children.length; i++) {
262
+ const child = this._children[i];
262
263
  child._layout(this._contentRect!, metrics);
263
264
  child._setVisible(i === this.getSelected());
264
265
  this._drawChildren.push(child);
265
- });
266
+ }
266
267
 
267
268
  if (this.getSelected() === -1) {
268
269
  return inner;
@@ -276,7 +277,7 @@ export class BorderNode extends Node implements IDropTarget {
276
277
  }
277
278
  }
278
279
 
279
- /** @hidden @internal */
280
+ /** @internal */
280
281
  _remove(node: TabNode) {
281
282
  const removedIndex = this._removeChild(node);
282
283
  if (this.getSelected() !== -1) {
@@ -284,7 +285,7 @@ export class BorderNode extends Node implements IDropTarget {
284
285
  }
285
286
  }
286
287
 
287
- /** @hidden @internal */
288
+ /** @internal */
288
289
  canDrop(dragNode: Node & IDraggable, x: number, y: number): DropInfo | undefined {
289
290
  if (dragNode.getType() !== TabNode.TYPE) {
290
291
  return undefined;
@@ -366,7 +367,7 @@ export class BorderNode extends Node implements IDropTarget {
366
367
  return dropInfo;
367
368
  }
368
369
 
369
- /** @hidden @internal */
370
+ /** @internal */
370
371
  drop(dragNode: Node & IDraggable, location: DockLocation, index: number, select?: boolean): void {
371
372
  let fromIndex = 0;
372
373
  const dragParent = dragNode.getParent() as BorderNode | TabSetNode;
@@ -405,7 +406,7 @@ export class BorderNode extends Node implements IDropTarget {
405
406
  return json;
406
407
  }
407
408
 
408
- /** @hidden @internal */
409
+ /** @internal */
409
410
  _getSplitterBounds(splitter: SplitterNode, useMinSize: boolean = false) {
410
411
  const pBounds = [0, 0];
411
412
  const minSize = useMinSize ? this.getMinSize() : 0;
@@ -428,7 +429,7 @@ export class BorderNode extends Node implements IDropTarget {
428
429
  return pBounds;
429
430
  }
430
431
 
431
- /** @hidden @internal */
432
+ /** @internal */
432
433
  _calculateSplit(splitter: SplitterNode, splitterPos: number) {
433
434
  const pBounds = this._getSplitterBounds(splitter);
434
435
  if (this._location === DockLocation.BOTTOM || this._location === DockLocation.RIGHT) {
@@ -438,12 +439,12 @@ export class BorderNode extends Node implements IDropTarget {
438
439
  }
439
440
  }
440
441
 
441
- /** @hidden @internal */
442
+ /** @internal */
442
443
  _getAttributeDefinitions() {
443
444
  return BorderNode._attributeDefinitions;
444
445
  }
445
446
 
446
- /** @hidden @internal */
447
+ /** @internal */
447
448
  static getAttributeDefinitions() {
448
449
  return BorderNode._attributeDefinitions;
449
450
  }
@@ -7,18 +7,18 @@ import { Model, ILayoutMetrics } from "./Model";
7
7
  import { Node } from "./Node";
8
8
 
9
9
  export class BorderSet {
10
- /** @hidden @internal */
10
+ /** @internal */
11
11
  static _fromJson(json: any, model: Model) {
12
12
  const borderSet = new BorderSet(model);
13
13
  borderSet._borders = json.map((borderJson: any) => BorderNode._fromJson(borderJson, model));
14
14
  return borderSet;
15
15
  }
16
- /** @hidden @internal */
16
+ /** @internal */
17
17
  private _model: Model;
18
- /** @hidden @internal */
18
+ /** @internal */
19
19
  private _borders: BorderNode[];
20
20
 
21
- /** @hidden @internal */
21
+ /** @internal */
22
22
  constructor(model: Model) {
23
23
  this._model = model;
24
24
  this._borders = [];
@@ -28,22 +28,22 @@ export class BorderSet {
28
28
  return this._borders;
29
29
  }
30
30
 
31
- /** @hidden @internal */
31
+ /** @internal */
32
32
  _forEachNode(fn: (node: Node, level: number) => void) {
33
- this._borders.forEach((borderNode) => {
33
+ for (const borderNode of this._borders) {
34
34
  fn(borderNode, 0);
35
- borderNode.getChildren().forEach((node) => {
35
+ for (const node of borderNode.getChildren()) {
36
36
  node._forEachNode(fn, 1);
37
- });
38
- });
37
+ }
38
+ }
39
39
  }
40
40
 
41
- /** @hidden @internal */
41
+ /** @internal */
42
42
  _toJson() {
43
43
  return this._borders.map((borderNode) => borderNode.toJson());
44
44
  }
45
45
 
46
- /** @hidden @internal */
46
+ /** @internal */
47
47
  _layoutBorder(outerInnerRects: { inner: Rect; outer: Rect }, metrics: ILayoutMetrics) {
48
48
  const rect = outerInnerRects.outer;
49
49
  const rootRow = this._model.getRoot();
@@ -109,19 +109,19 @@ export class BorderSet {
109
109
  }
110
110
  }
111
111
 
112
- showingBorders.forEach((border) => {
112
+ for (const border of showingBorders) {
113
113
  outerInnerRects.outer = border._layoutBorderOuter(outerInnerRects.outer, metrics);
114
- });
114
+ }
115
115
 
116
116
  outerInnerRects.inner = outerInnerRects.outer;
117
117
 
118
- showingBorders.forEach((border) => {
118
+ for (const border of showingBorders) {
119
119
  outerInnerRects.inner = border._layoutBorderInner(outerInnerRects.inner, metrics);
120
- });
120
+ }
121
121
  return outerInnerRects;
122
122
  }
123
123
 
124
- /** @hidden @internal */
124
+ /** @internal */
125
125
  _findDropTargetNode(dragNode: Node & IDraggable, x: number, y: number): DropInfo | undefined {
126
126
  for (const border of this._borders) {
127
127
  if (border.isShowing()) {
@@ -1,7 +1,7 @@
1
1
  export interface IDraggable {
2
- /** @hidden @internal */
2
+ /** @internal */
3
3
  isEnableDrag(): boolean;
4
- /** @hidden @internal */
4
+ /** @internal */
5
5
  getName(): string | undefined;
6
6
  }
7
7
 
@@ -4,11 +4,11 @@ import { IDraggable } from "./IDraggable";
4
4
  import { Node } from "./Node";
5
5
 
6
6
  export interface IDropTarget {
7
- /** @hidden @internal */
7
+ /** @internal */
8
8
  canDrop(dragNode: Node & IDraggable, x: number, y: number): DropInfo | undefined;
9
- /** @hidden @internal */
9
+ /** @internal */
10
10
  drop(dragNode: Node & IDraggable, location: DockLocation, index: number, select?: boolean): void;
11
- /** @hidden @internal */
11
+ /** @internal */
12
12
  isEnableDrop(): boolean;
13
13
  }
14
14