flexlayout-react 0.8.12 → 0.8.14
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/README.md +16 -5
- package/declarations/Attribute.d.ts +25 -1
- package/declarations/AttributeDefinitions.d.ts +18 -1
- package/declarations/DockLocation.d.ts +22 -0
- package/declarations/I18nLabel.d.ts +2 -1
- package/declarations/Orientation.d.ts +4 -0
- package/declarations/Rect.d.ts +3 -0
- package/declarations/index.d.ts +1 -0
- package/declarations/model/BorderNode.d.ts +53 -0
- package/declarations/model/BorderSet.d.ts +28 -0
- package/declarations/model/IDraggable.d.ts +4 -0
- package/declarations/model/IDropTarget.d.ts +10 -0
- package/declarations/model/LayoutWindow.d.ts +16 -0
- package/declarations/model/Model.d.ts +55 -0
- package/declarations/model/Node.d.ts +61 -0
- package/declarations/model/RowNode.d.ts +67 -0
- package/declarations/model/TabNode.d.ts +79 -0
- package/declarations/model/TabSetNode.d.ts +60 -0
- package/declarations/model/Utils.d.ts +8 -0
- package/declarations/view/BorderButton.d.ts +13 -1
- package/declarations/view/BorderTab.d.ts +8 -0
- package/declarations/view/BorderTabSet.d.ts +10 -1
- package/declarations/view/DragContainer.d.ts +9 -1
- package/declarations/view/ErrorBoundary.d.ts +22 -1
- package/declarations/view/Icons.d.ts +1 -0
- package/declarations/view/Layout.d.ts +143 -1
- package/declarations/view/Overlay.d.ts +8 -1
- package/declarations/view/PopoutWindow.d.ts +14 -1
- package/declarations/view/PopupMenu.d.ts +12 -1
- package/declarations/view/Row.d.ts +9 -1
- package/declarations/view/Splitter.d.ts +14 -1
- package/declarations/view/Tab.d.ts +11 -1
- package/declarations/view/TabButton.d.ts +11 -1
- package/declarations/view/TabButtonStamp.d.ts +9 -1
- package/declarations/view/TabOverflowHook.d.ts +16 -1
- package/declarations/view/TabSet.d.ts +9 -1
- package/declarations/view/Utils.d.ts +13 -0
- package/lib/index.js +6410 -22
- package/package.json +35 -26
- package/ChangeLog.txt +0 -372
- package/declarations/DragDrop.d.ts +0 -15
- package/declarations/PopupMenu.d.ts +0 -1
- package/declarations/model/SplitterNode.d.ts +0 -5
- package/declarations/model/WindowLayout.d.ts +0 -24
- package/declarations/src/Attribute.d.ts +0 -1
- package/declarations/src/AttributeDefinitions.d.ts +0 -1
- package/declarations/src/DockLocation.d.ts +0 -12
- package/declarations/src/DropInfo.d.ts +0 -12
- package/declarations/src/I18nLabel.d.ts +0 -10
- package/declarations/src/Orientation.d.ts +0 -7
- package/declarations/src/PopupMenu.d.ts +0 -1
- package/declarations/src/Rect.d.ts +0 -31
- package/declarations/src/Types.d.ts +0 -92
- package/declarations/src/index.d.ts +0 -20
- package/declarations/src/model/Action.d.ts +0 -5
- package/declarations/src/model/Actions.d.ts +0 -110
- package/declarations/src/model/BorderNode.d.ts +0 -28
- package/declarations/src/model/BorderSet.d.ts +0 -3
- package/declarations/src/model/ICloseType.d.ts +0 -5
- package/declarations/src/model/IDraggable.d.ts +0 -2
- package/declarations/src/model/IDropTarget.d.ts +0 -2
- package/declarations/src/model/IJsonModel.d.ts +0 -153
- package/declarations/src/model/Model.d.ts +0 -98
- package/declarations/src/model/Node.d.ts +0 -16
- package/declarations/src/model/RowNode.d.ts +0 -11
- package/declarations/src/model/TabNode.d.ts +0 -36
- package/declarations/src/model/TabSetNode.d.ts +0 -37
- package/declarations/src/model/Utils.d.ts +0 -1
- package/declarations/src/view/BorderButton.d.ts +0 -1
- package/declarations/src/view/BorderTab.d.ts +0 -2
- package/declarations/src/view/BorderTabSet.d.ts +0 -1
- package/declarations/src/view/DragContainer.d.ts +0 -1
- package/declarations/src/view/ErrorBoundary.d.ts +0 -1
- package/declarations/src/view/FloatingWindow.d.ts +0 -1
- package/declarations/src/view/Icons.d.ts +0 -7
- package/declarations/src/view/Layout.d.ts +0 -113
- package/declarations/src/view/Overlay.d.ts +0 -1
- package/declarations/src/view/PopupMenu.d.ts +0 -1
- package/declarations/src/view/Row.d.ts +0 -1
- package/declarations/src/view/Splitter.d.ts +0 -1
- package/declarations/src/view/Tab.d.ts +0 -1
- package/declarations/src/view/TabButton.d.ts +0 -1
- package/declarations/src/view/TabButtonStamp.d.ts +0 -1
- package/declarations/src/view/TabOverflowHook.d.ts +0 -1
- package/declarations/src/view/TabSet.d.ts +0 -1
- package/declarations/src/view/Utils.d.ts +0 -4
- package/declarations/view/ExtendedResizeObserver.d.ts +0 -23
- package/declarations/view/FloatingWindow.d.ts +0 -1
- package/declarations/view/FloatingWindowTab.d.ts +0 -1
- package/declarations/view/TabFloating.d.ts +0 -1
- package/dist/flexlayout.js +0 -610
- package/dist/flexlayout_min.js +0 -2
- package/dist/flexlayout_min.js.LICENSE.txt +0 -29
- package/dist/src/Attribute.js +0 -43
- package/dist/src/Attribute.js.map +0 -1
- package/dist/src/AttributeDefinitions.js +0 -132
- package/dist/src/AttributeDefinitions.js.map +0 -1
- package/dist/src/DockLocation.js +0 -121
- package/dist/src/DockLocation.js.map +0 -1
- package/dist/src/DropInfo.js +0 -10
- package/dist/src/DropInfo.js.map +0 -1
- package/dist/src/I18nLabel.js +0 -14
- package/dist/src/I18nLabel.js.map +0 -1
- package/dist/src/Orientation.js +0 -23
- package/dist/src/Orientation.js.map +0 -1
- package/dist/src/Rect.js +0 -111
- package/dist/src/Rect.js.map +0 -1
- package/dist/src/Types.js +0 -95
- package/dist/src/Types.js.map +0 -1
- package/dist/src/index.js +0 -22
- package/dist/src/index.js.map +0 -1
- package/dist/src/model/Action.js +0 -7
- package/dist/src/model/Action.js.map +0 -1
- package/dist/src/model/Actions.js +0 -170
- package/dist/src/model/Actions.js.map +0 -1
- package/dist/src/model/BorderNode.js +0 -390
- package/dist/src/model/BorderNode.js.map +0 -1
- package/dist/src/model/BorderSet.js +0 -67
- package/dist/src/model/BorderSet.js.map +0 -1
- package/dist/src/model/ICloseType.js +0 -7
- package/dist/src/model/ICloseType.js.map +0 -1
- package/dist/src/model/IDraggable.js +0 -2
- package/dist/src/model/IDraggable.js.map +0 -1
- package/dist/src/model/IDropTarget.js +0 -2
- package/dist/src/model/IDropTarget.js.map +0 -1
- package/dist/src/model/IJsonModel.js +0 -2
- package/dist/src/model/IJsonModel.js.map +0 -1
- package/dist/src/model/LayoutWindow.js +0 -81
- package/dist/src/model/LayoutWindow.js.map +0 -1
- package/dist/src/model/Model.js +0 -608
- package/dist/src/model/Model.js.map +0 -1
- package/dist/src/model/Node.js +0 -218
- package/dist/src/model/Node.js.map +0 -1
- package/dist/src/model/RowNode.js +0 -492
- package/dist/src/model/RowNode.js.map +0 -1
- package/dist/src/model/TabNode.js +0 -293
- package/dist/src/model/TabNode.js.map +0 -1
- package/dist/src/model/TabSetNode.js +0 -469
- package/dist/src/model/TabSetNode.js.map +0 -1
- package/dist/src/model/Utils.js +0 -48
- package/dist/src/model/Utils.js.map +0 -1
- package/dist/src/view/BorderButton.js +0 -126
- package/dist/src/view/BorderButton.js.map +0 -1
- package/dist/src/view/BorderTab.js +0 -44
- package/dist/src/view/BorderTab.js.map +0 -1
- package/dist/src/view/BorderTabSet.js +0 -138
- package/dist/src/view/BorderTabSet.js.map +0 -1
- package/dist/src/view/DragContainer.js +0 -16
- package/dist/src/view/DragContainer.js.map +0 -1
- package/dist/src/view/ErrorBoundary.js +0 -24
- package/dist/src/view/ErrorBoundary.js.map +0 -1
- package/dist/src/view/Icons.js +0 -29
- package/dist/src/view/Icons.js.map +0 -1
- package/dist/src/view/Layout.js +0 -881
- package/dist/src/view/Layout.js.map +0 -1
- package/dist/src/view/Overlay.js +0 -9
- package/dist/src/view/Overlay.js.map +0 -1
- package/dist/src/view/PopoutWindow.js +0 -129
- package/dist/src/view/PopoutWindow.js.map +0 -1
- package/dist/src/view/PopupMenu.js +0 -89
- package/dist/src/view/PopupMenu.js.map +0 -1
- package/dist/src/view/Row.js +0 -46
- package/dist/src/view/Row.js.map +0 -1
- package/dist/src/view/SizeTracker.js +0 -12
- package/dist/src/view/SizeTracker.js.map +0 -1
- package/dist/src/view/Splitter.js +0 -192
- package/dist/src/view/Splitter.js.map +0 -1
- package/dist/src/view/Tab.js +0 -91
- package/dist/src/view/Tab.js.map +0 -1
- package/dist/src/view/TabButton.js +0 -124
- package/dist/src/view/TabButton.js.map +0 -1
- package/dist/src/view/TabButtonStamp.js +0 -15
- package/dist/src/view/TabButtonStamp.js.map +0 -1
- package/dist/src/view/TabOverflowHook.js +0 -266
- package/dist/src/view/TabOverflowHook.js.map +0 -1
- package/dist/src/view/TabSet.js +0 -256
- package/dist/src/view/TabSet.js.map +0 -1
- package/dist/src/view/Utils.js +0 -110
- package/dist/src/view/Utils.js.map +0 -1
- package/lib/Attribute.js +0 -43
- package/lib/Attribute.js.map +0 -1
- package/lib/AttributeDefinitions.js +0 -132
- package/lib/AttributeDefinitions.js.map +0 -1
- package/lib/DockLocation.js +0 -121
- package/lib/DockLocation.js.map +0 -1
- package/lib/DropInfo.js +0 -10
- package/lib/DropInfo.js.map +0 -1
- package/lib/I18nLabel.js +0 -14
- package/lib/I18nLabel.js.map +0 -1
- package/lib/Orientation.js +0 -23
- package/lib/Orientation.js.map +0 -1
- package/lib/Rect.js +0 -111
- package/lib/Rect.js.map +0 -1
- package/lib/Types.js +0 -95
- package/lib/Types.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/model/Action.js +0 -7
- package/lib/model/Action.js.map +0 -1
- package/lib/model/Actions.js +0 -170
- package/lib/model/Actions.js.map +0 -1
- package/lib/model/BorderNode.js +0 -390
- package/lib/model/BorderNode.js.map +0 -1
- package/lib/model/BorderSet.js +0 -67
- package/lib/model/BorderSet.js.map +0 -1
- package/lib/model/ICloseType.js +0 -7
- package/lib/model/ICloseType.js.map +0 -1
- package/lib/model/IDraggable.js +0 -2
- package/lib/model/IDraggable.js.map +0 -1
- package/lib/model/IDropTarget.js +0 -2
- package/lib/model/IDropTarget.js.map +0 -1
- package/lib/model/IJsonModel.js +0 -2
- package/lib/model/IJsonModel.js.map +0 -1
- package/lib/model/LayoutWindow.js +0 -81
- package/lib/model/LayoutWindow.js.map +0 -1
- package/lib/model/Model.js +0 -608
- package/lib/model/Model.js.map +0 -1
- package/lib/model/Node.js +0 -218
- package/lib/model/Node.js.map +0 -1
- package/lib/model/RowNode.js +0 -492
- package/lib/model/RowNode.js.map +0 -1
- package/lib/model/TabNode.js +0 -293
- package/lib/model/TabNode.js.map +0 -1
- package/lib/model/TabSetNode.js +0 -469
- package/lib/model/TabSetNode.js.map +0 -1
- package/lib/model/Utils.js +0 -48
- package/lib/model/Utils.js.map +0 -1
- package/lib/view/BorderButton.js +0 -126
- package/lib/view/BorderButton.js.map +0 -1
- package/lib/view/BorderTab.js +0 -56
- package/lib/view/BorderTab.js.map +0 -1
- package/lib/view/BorderTabSet.js +0 -138
- package/lib/view/BorderTabSet.js.map +0 -1
- package/lib/view/DragContainer.js +0 -16
- package/lib/view/DragContainer.js.map +0 -1
- package/lib/view/ErrorBoundary.js +0 -24
- package/lib/view/ErrorBoundary.js.map +0 -1
- package/lib/view/Icons.js +0 -29
- package/lib/view/Icons.js.map +0 -1
- package/lib/view/Layout.js +0 -881
- package/lib/view/Layout.js.map +0 -1
- package/lib/view/Overlay.js +0 -9
- package/lib/view/Overlay.js.map +0 -1
- package/lib/view/PopoutWindow.js +0 -129
- package/lib/view/PopoutWindow.js.map +0 -1
- package/lib/view/PopupMenu.js +0 -89
- package/lib/view/PopupMenu.js.map +0 -1
- package/lib/view/Row.js +0 -46
- package/lib/view/Row.js.map +0 -1
- package/lib/view/SizeTracker.js +0 -12
- package/lib/view/SizeTracker.js.map +0 -1
- package/lib/view/Splitter.js +0 -197
- package/lib/view/Splitter.js.map +0 -1
- package/lib/view/Tab.js +0 -91
- package/lib/view/Tab.js.map +0 -1
- package/lib/view/TabButton.js +0 -124
- package/lib/view/TabButton.js.map +0 -1
- package/lib/view/TabButtonStamp.js +0 -15
- package/lib/view/TabButtonStamp.js.map +0 -1
- package/lib/view/TabOverflowHook.js +0 -266
- package/lib/view/TabOverflowHook.js.map +0 -1
- package/lib/view/TabSet.js +0 -269
- package/lib/view/TabSet.js.map +0 -1
- package/lib/view/Utils.js +0 -110
- package/lib/view/Utils.js.map +0 -1
- package/src/Attribute.ts +0 -64
- package/src/AttributeDefinitions.ts +0 -144
- package/src/DockLocation.ts +0 -133
- package/src/DropInfo.ts +0 -20
- package/src/I18nLabel.ts +0 -12
- package/src/Orientation.ts +0 -28
- package/src/Rect.ts +0 -147
- package/src/Types.ts +0 -112
- package/src/index.ts +0 -23
- package/src/model/Action.ts +0 -9
- package/src/model/Actions.ts +0 -188
- package/src/model/BorderNode.ts +0 -458
- package/src/model/BorderSet.ts +0 -87
- package/src/model/ICloseType.ts +0 -5
- package/src/model/IDraggable.ts +0 -7
- package/src/model/IDropTarget.ts +0 -14
- package/src/model/IJsonModel.ts +0 -967
- package/src/model/LayoutWindow.ts +0 -119
- package/src/model/Model.ts +0 -704
- package/src/model/Node.ts +0 -280
- package/src/model/RowNode.ts +0 -559
- package/src/model/TabNode.ts +0 -424
- package/src/model/TabSetNode.ts +0 -592
- package/src/model/Utils.ts +0 -52
- package/src/view/BorderButton.tsx +0 -201
- package/src/view/BorderTab.tsx +0 -81
- package/src/view/BorderTabSet.tsx +0 -259
- package/src/view/DragContainer.tsx +0 -32
- package/src/view/ErrorBoundary.tsx +0 -42
- package/src/view/Icons.tsx +0 -57
- package/src/view/Layout.tsx +0 -1334
- package/src/view/Overlay.tsx +0 -21
- package/src/view/PopoutWindow.tsx +0 -152
- package/src/view/PopupMenu.tsx +0 -156
- package/src/view/Row.tsx +0 -68
- package/src/view/SizeTracker.tsx +0 -20
- package/src/view/Splitter.tsx +0 -262
- package/src/view/Tab.tsx +0 -128
- package/src/view/TabButton.tsx +0 -200
- package/src/view/TabButtonStamp.tsx +0 -42
- package/src/view/TabOverflowHook.tsx +0 -305
- package/src/view/TabSet.tsx +0 -475
- package/src/view/Utils.tsx +0 -135
package/dist/src/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export * from './view/Layout';
|
|
2
|
-
export * from './model/Action';
|
|
3
|
-
export * from './model/Actions';
|
|
4
|
-
export * from './model/BorderNode';
|
|
5
|
-
export * from './model/BorderSet';
|
|
6
|
-
export * from './model/ICloseType';
|
|
7
|
-
export * from './model/IDraggable';
|
|
8
|
-
export * from './model/IDropTarget';
|
|
9
|
-
export * from './model/IJsonModel';
|
|
10
|
-
export * from './model/Model';
|
|
11
|
-
export * from './model/Node';
|
|
12
|
-
export * from './model/RowNode';
|
|
13
|
-
export * from './model/TabNode';
|
|
14
|
-
export * from './model/TabSetNode';
|
|
15
|
-
export * from './model/LayoutWindow';
|
|
16
|
-
export * from './DockLocation';
|
|
17
|
-
export * from './DropInfo';
|
|
18
|
-
export * from './I18nLabel';
|
|
19
|
-
export * from './Orientation';
|
|
20
|
-
export * from './Rect';
|
|
21
|
-
export * from './Types';
|
|
22
|
-
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAE9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AAErC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
|
package/dist/src/model/Action.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../../../src/model/Action.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,MAAM;IAIf,YAAY,IAAY,EAAE,IAAyB;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ"}
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
import { Action } from "./Action";
|
|
2
|
-
/**
|
|
3
|
-
* The Action creator class for FlexLayout model actions
|
|
4
|
-
*/
|
|
5
|
-
export class Actions {
|
|
6
|
-
/**
|
|
7
|
-
* Adds a tab node to the given tabset node
|
|
8
|
-
* @param json the json for the new tab node e.g {type:"tab", component:"table"}
|
|
9
|
-
* @param toNodeId the new tab node will be added to the tabset with this node id
|
|
10
|
-
* @param location the location where the new tab will be added, one of the DockLocation enum values.
|
|
11
|
-
* @param index for docking to the center this value is the index of the tab, use -1 to add to the end.
|
|
12
|
-
* @param select (optional) whether to select the new tab, overriding autoSelectTab
|
|
13
|
-
* @returns {Action} the action
|
|
14
|
-
*/
|
|
15
|
-
static addNode(json, toNodeId, location, index, select) {
|
|
16
|
-
return new Action(Actions.ADD_NODE, {
|
|
17
|
-
json,
|
|
18
|
-
toNode: toNodeId,
|
|
19
|
-
location: location.getName(),
|
|
20
|
-
index,
|
|
21
|
-
select,
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Moves a node (tab or tabset) from one location to another
|
|
26
|
-
* @param fromNodeId the id of the node to move
|
|
27
|
-
* @param toNodeId the id of the node to receive the moved node
|
|
28
|
-
* @param location the location where the moved node will be added, one of the DockLocation enum values.
|
|
29
|
-
* @param index for docking to the center this value is the index of the tab, use -1 to add to the end.
|
|
30
|
-
* @param select (optional) whether to select the moved tab(s) in new tabset, overriding autoSelectTab
|
|
31
|
-
* @returns {Action} the action
|
|
32
|
-
*/
|
|
33
|
-
static moveNode(fromNodeId, toNodeId, location, index, select) {
|
|
34
|
-
return new Action(Actions.MOVE_NODE, {
|
|
35
|
-
fromNode: fromNodeId,
|
|
36
|
-
toNode: toNodeId,
|
|
37
|
-
location: location.getName(),
|
|
38
|
-
index,
|
|
39
|
-
select,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Deletes a tab node from the layout
|
|
44
|
-
* @param tabNodeId the id of the tab node to delete
|
|
45
|
-
* @returns {Action} the action
|
|
46
|
-
*/
|
|
47
|
-
static deleteTab(tabNodeId) {
|
|
48
|
-
return new Action(Actions.DELETE_TAB, { node: tabNodeId });
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Deletes a tabset node and all it's child tab nodes from the layout
|
|
52
|
-
* @param tabsetNodeId the id of the tabset node to delete
|
|
53
|
-
* @returns {Action} the action
|
|
54
|
-
*/
|
|
55
|
-
static deleteTabset(tabsetNodeId) {
|
|
56
|
-
return new Action(Actions.DELETE_TABSET, { node: tabsetNodeId });
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Change the given nodes tab text
|
|
60
|
-
* @param tabNodeId the id of the node to rename
|
|
61
|
-
* @param text the test of the tab
|
|
62
|
-
* @returns {Action} the action
|
|
63
|
-
*/
|
|
64
|
-
static renameTab(tabNodeId, text) {
|
|
65
|
-
return new Action(Actions.RENAME_TAB, { node: tabNodeId, text });
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Selects the given tab in its parent tabset
|
|
69
|
-
* @param tabNodeId the id of the node to set selected
|
|
70
|
-
* @returns {Action} the action
|
|
71
|
-
*/
|
|
72
|
-
static selectTab(tabNodeId) {
|
|
73
|
-
return new Action(Actions.SELECT_TAB, { tabNode: tabNodeId });
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Set the given tabset node as the active tabset
|
|
77
|
-
* @param tabsetNodeId the id of the tabset node to set as active
|
|
78
|
-
* @returns {Action} the action
|
|
79
|
-
*/
|
|
80
|
-
static setActiveTabset(tabsetNodeId, windowId) {
|
|
81
|
-
return new Action(Actions.SET_ACTIVE_TABSET, { tabsetNode: tabsetNodeId, windowId: windowId });
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Adjust the weights of a row, used when the splitter is moved
|
|
85
|
-
* @param nodeId the row node whose childrens weights are being adjusted
|
|
86
|
-
* @param weights an array of weights to be applied to the children
|
|
87
|
-
* @returns {Action} the action
|
|
88
|
-
*/
|
|
89
|
-
static adjustWeights(nodeId, weights) {
|
|
90
|
-
return new Action(Actions.ADJUST_WEIGHTS, { nodeId, weights });
|
|
91
|
-
}
|
|
92
|
-
static adjustBorderSplit(nodeId, pos) {
|
|
93
|
-
return new Action(Actions.ADJUST_BORDER_SPLIT, { node: nodeId, pos });
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Maximizes the given tabset
|
|
97
|
-
* @param tabsetNodeId the id of the tabset to maximize
|
|
98
|
-
* @returns {Action} the action
|
|
99
|
-
*/
|
|
100
|
-
static maximizeToggle(tabsetNodeId, windowId) {
|
|
101
|
-
return new Action(Actions.MAXIMIZE_TOGGLE, { node: tabsetNodeId, windowId: windowId });
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Updates the global model jsone attributes
|
|
105
|
-
* @param attributes the json for the model attributes to update (merge into the existing attributes)
|
|
106
|
-
* @returns {Action} the action
|
|
107
|
-
*/
|
|
108
|
-
static updateModelAttributes(attributes) {
|
|
109
|
-
return new Action(Actions.UPDATE_MODEL_ATTRIBUTES, { json: attributes });
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Updates the given nodes json attributes
|
|
113
|
-
* @param nodeId the id of the node to update
|
|
114
|
-
* @param attributes the json attributes to update (merge with the existing attributes)
|
|
115
|
-
* @returns {Action} the action
|
|
116
|
-
*/
|
|
117
|
-
static updateNodeAttributes(nodeId, attributes) {
|
|
118
|
-
return new Action(Actions.UPDATE_NODE_ATTRIBUTES, { node: nodeId, json: attributes });
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Pops out the given tab node into a new browser window
|
|
122
|
-
* @param nodeId the tab node to popout
|
|
123
|
-
* @returns
|
|
124
|
-
*/
|
|
125
|
-
static popoutTab(nodeId) {
|
|
126
|
-
return new Action(Actions.POPOUT_TAB, { node: nodeId });
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Pops out the given tab set node into a new browser window
|
|
130
|
-
* @param nodeId the tab set node to popout
|
|
131
|
-
* @returns
|
|
132
|
-
*/
|
|
133
|
-
static popoutTabset(nodeId) {
|
|
134
|
-
return new Action(Actions.POPOUT_TABSET, { node: nodeId });
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Closes the popout window
|
|
138
|
-
* @param windowId the id of the popout window to close
|
|
139
|
-
* @returns
|
|
140
|
-
*/
|
|
141
|
-
static closeWindow(windowId) {
|
|
142
|
-
return new Action(Actions.CLOSE_WINDOW, { windowId });
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Creates a new empty popout window with the given layout
|
|
146
|
-
* @param layout the json layout for the new window
|
|
147
|
-
* @param rect the window rectangle in screen coordinates
|
|
148
|
-
* @returns
|
|
149
|
-
*/
|
|
150
|
-
static createWindow(layout, rect) {
|
|
151
|
-
return new Action(Actions.CREATE_WINDOW, { layout, rect });
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
Actions.ADD_NODE = "FlexLayout_AddNode";
|
|
155
|
-
Actions.MOVE_NODE = "FlexLayout_MoveNode";
|
|
156
|
-
Actions.DELETE_TAB = "FlexLayout_DeleteTab";
|
|
157
|
-
Actions.DELETE_TABSET = "FlexLayout_DeleteTabset";
|
|
158
|
-
Actions.RENAME_TAB = "FlexLayout_RenameTab";
|
|
159
|
-
Actions.SELECT_TAB = "FlexLayout_SelectTab";
|
|
160
|
-
Actions.SET_ACTIVE_TABSET = "FlexLayout_SetActiveTabset";
|
|
161
|
-
Actions.ADJUST_WEIGHTS = "FlexLayout_AdjustWeights";
|
|
162
|
-
Actions.ADJUST_BORDER_SPLIT = "FlexLayout_AdjustBorderSplit";
|
|
163
|
-
Actions.MAXIMIZE_TOGGLE = "FlexLayout_MaximizeToggle";
|
|
164
|
-
Actions.UPDATE_MODEL_ATTRIBUTES = "FlexLayout_UpdateModelAttributes";
|
|
165
|
-
Actions.UPDATE_NODE_ATTRIBUTES = "FlexLayout_UpdateNodeAttributes";
|
|
166
|
-
Actions.POPOUT_TAB = "FlexLayout_PopoutTab";
|
|
167
|
-
Actions.POPOUT_TABSET = "FlexLayout_PopoutTabset";
|
|
168
|
-
Actions.CLOSE_WINDOW = "FlexLayout_CloseWindow";
|
|
169
|
-
Actions.CREATE_WINDOW = "FlexLayout_CreateWindow";
|
|
170
|
-
//# sourceMappingURL=Actions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.js","sourceRoot":"","sources":["../../../src/model/Actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,390 +0,0 @@
|
|
|
1
|
-
import { Attribute } from "../Attribute";
|
|
2
|
-
import { AttributeDefinitions } from "../AttributeDefinitions";
|
|
3
|
-
import { DockLocation } from "../DockLocation";
|
|
4
|
-
import { DropInfo } from "../DropInfo";
|
|
5
|
-
import { Orientation } from "../Orientation";
|
|
6
|
-
import { Rect } from "../Rect";
|
|
7
|
-
import { CLASSES } from "../Types";
|
|
8
|
-
import { Model } from "./Model";
|
|
9
|
-
import { Node } from "./Node";
|
|
10
|
-
import { TabNode } from "./TabNode";
|
|
11
|
-
import { adjustSelectedIndex } from "./Utils";
|
|
12
|
-
export class BorderNode extends Node {
|
|
13
|
-
/** @internal */
|
|
14
|
-
static fromJson(json, model) {
|
|
15
|
-
const location = DockLocation.getByName(json.location);
|
|
16
|
-
const border = new BorderNode(location, json, model);
|
|
17
|
-
if (json.children) {
|
|
18
|
-
border.children = json.children.map((jsonChild) => {
|
|
19
|
-
const child = TabNode.fromJson(jsonChild, model);
|
|
20
|
-
child.setParent(border);
|
|
21
|
-
return child;
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
return border;
|
|
25
|
-
}
|
|
26
|
-
/** @internal */
|
|
27
|
-
constructor(location, json, model) {
|
|
28
|
-
super(model);
|
|
29
|
-
/** @internal */
|
|
30
|
-
this.outerRect = Rect.empty();
|
|
31
|
-
/** @internal */
|
|
32
|
-
this.contentRect = Rect.empty();
|
|
33
|
-
/** @internal */
|
|
34
|
-
this.tabHeaderRect = Rect.empty();
|
|
35
|
-
this.location = location;
|
|
36
|
-
this.attributes.id = `border_${location.getName()}`;
|
|
37
|
-
BorderNode.attributeDefinitions.fromJson(json, this.attributes);
|
|
38
|
-
model.addNode(this);
|
|
39
|
-
}
|
|
40
|
-
getLocation() {
|
|
41
|
-
return this.location;
|
|
42
|
-
}
|
|
43
|
-
getClassName() {
|
|
44
|
-
return this.getAttr("className");
|
|
45
|
-
}
|
|
46
|
-
isHorizontal() {
|
|
47
|
-
return this.location.orientation === Orientation.HORZ;
|
|
48
|
-
}
|
|
49
|
-
getSize() {
|
|
50
|
-
const defaultSize = this.getAttr("size");
|
|
51
|
-
const selected = this.getSelected();
|
|
52
|
-
if (selected === -1) {
|
|
53
|
-
return defaultSize;
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
const tabNode = this.children[selected];
|
|
57
|
-
const tabBorderSize = this.isHorizontal() ? tabNode.getAttr("borderWidth") : tabNode.getAttr("borderHeight");
|
|
58
|
-
if (tabBorderSize === -1) {
|
|
59
|
-
return defaultSize;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
return tabBorderSize;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
getMinSize() {
|
|
67
|
-
const selectedNode = this.getSelectedNode();
|
|
68
|
-
let min = this.getAttr("minSize");
|
|
69
|
-
if (selectedNode) {
|
|
70
|
-
const nodeMin = this.isHorizontal() ? selectedNode.getMinWidth() : selectedNode.getMinHeight();
|
|
71
|
-
min = Math.max(min, nodeMin);
|
|
72
|
-
}
|
|
73
|
-
return min;
|
|
74
|
-
}
|
|
75
|
-
getMaxSize() {
|
|
76
|
-
const selectedNode = this.getSelectedNode();
|
|
77
|
-
let max = this.getAttr("maxSize");
|
|
78
|
-
if (selectedNode) {
|
|
79
|
-
const nodeMax = this.isHorizontal() ? selectedNode.getMaxWidth() : selectedNode.getMaxHeight();
|
|
80
|
-
max = Math.min(max, nodeMax);
|
|
81
|
-
}
|
|
82
|
-
return max;
|
|
83
|
-
}
|
|
84
|
-
getSelected() {
|
|
85
|
-
return this.attributes.selected;
|
|
86
|
-
}
|
|
87
|
-
isAutoHide() {
|
|
88
|
-
return this.getAttr("enableAutoHide");
|
|
89
|
-
}
|
|
90
|
-
getSelectedNode() {
|
|
91
|
-
if (this.getSelected() !== -1) {
|
|
92
|
-
return this.children[this.getSelected()];
|
|
93
|
-
}
|
|
94
|
-
return undefined;
|
|
95
|
-
}
|
|
96
|
-
getOrientation() {
|
|
97
|
-
return this.location.getOrientation();
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Returns the config attribute that can be used to store node specific data that
|
|
101
|
-
* WILL be saved to the json. The config attribute should be changed via the action Actions.updateNodeAttributes rather
|
|
102
|
-
* than directly, for example:
|
|
103
|
-
* this.state.model.doAction(
|
|
104
|
-
* FlexLayout.Actions.updateNodeAttributes(node.getId(), {config:myConfigObject}));
|
|
105
|
-
*/
|
|
106
|
-
getConfig() {
|
|
107
|
-
return this.attributes.config;
|
|
108
|
-
}
|
|
109
|
-
isMaximized() {
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
isShowing() {
|
|
113
|
-
return this.attributes.show;
|
|
114
|
-
}
|
|
115
|
-
toJson() {
|
|
116
|
-
const json = {};
|
|
117
|
-
BorderNode.attributeDefinitions.toJson(json, this.attributes);
|
|
118
|
-
json.location = this.location.getName();
|
|
119
|
-
json.children = this.children.map((child) => child.toJson());
|
|
120
|
-
return json;
|
|
121
|
-
}
|
|
122
|
-
/** @internal */
|
|
123
|
-
isAutoSelectTab(whenOpen) {
|
|
124
|
-
if (whenOpen == null) {
|
|
125
|
-
whenOpen = this.getSelected() !== -1;
|
|
126
|
-
}
|
|
127
|
-
if (whenOpen) {
|
|
128
|
-
return this.getAttr("autoSelectTabWhenOpen");
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
return this.getAttr("autoSelectTabWhenClosed");
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
isEnableTabScrollbar() {
|
|
135
|
-
return this.getAttr("enableTabScrollbar");
|
|
136
|
-
}
|
|
137
|
-
/** @internal */
|
|
138
|
-
setSelected(index) {
|
|
139
|
-
this.attributes.selected = index;
|
|
140
|
-
}
|
|
141
|
-
/** @internal */
|
|
142
|
-
getTabHeaderRect() {
|
|
143
|
-
return this.tabHeaderRect;
|
|
144
|
-
}
|
|
145
|
-
/** @internal */
|
|
146
|
-
setTabHeaderRect(r) {
|
|
147
|
-
this.tabHeaderRect = r;
|
|
148
|
-
}
|
|
149
|
-
/** @internal */
|
|
150
|
-
getOuterRect() {
|
|
151
|
-
return this.outerRect;
|
|
152
|
-
}
|
|
153
|
-
/** @internal */
|
|
154
|
-
setOuterRect(r) {
|
|
155
|
-
this.outerRect = r;
|
|
156
|
-
}
|
|
157
|
-
/** @internal */
|
|
158
|
-
getRect() {
|
|
159
|
-
return this.tabHeaderRect;
|
|
160
|
-
}
|
|
161
|
-
/** @internal */
|
|
162
|
-
getContentRect() {
|
|
163
|
-
return this.contentRect;
|
|
164
|
-
}
|
|
165
|
-
/** @internal */
|
|
166
|
-
setContentRect(r) {
|
|
167
|
-
this.contentRect = r;
|
|
168
|
-
}
|
|
169
|
-
/** @internal */
|
|
170
|
-
isEnableDrop() {
|
|
171
|
-
return this.getAttr("enableDrop");
|
|
172
|
-
}
|
|
173
|
-
/** @internal */
|
|
174
|
-
setSize(pos) {
|
|
175
|
-
const selected = this.getSelected();
|
|
176
|
-
if (selected === -1) {
|
|
177
|
-
this.attributes.size = pos;
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
const tabNode = this.children[selected];
|
|
181
|
-
const tabBorderSize = this.isHorizontal() ? tabNode.getAttr("borderWidth") : tabNode.getAttr("borderHeight");
|
|
182
|
-
if (tabBorderSize === -1) {
|
|
183
|
-
this.attributes.size = pos;
|
|
184
|
-
}
|
|
185
|
-
else {
|
|
186
|
-
if (this.isHorizontal()) {
|
|
187
|
-
tabNode.setBorderWidth(pos);
|
|
188
|
-
}
|
|
189
|
-
else {
|
|
190
|
-
tabNode.setBorderHeight(pos);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
/** @internal */
|
|
196
|
-
updateAttrs(json) {
|
|
197
|
-
BorderNode.attributeDefinitions.update(json, this.attributes);
|
|
198
|
-
}
|
|
199
|
-
/** @internal */
|
|
200
|
-
remove(node) {
|
|
201
|
-
const removedIndex = this.removeChild(node);
|
|
202
|
-
if (this.getSelected() !== -1) {
|
|
203
|
-
adjustSelectedIndex(this, removedIndex);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
/** @internal */
|
|
207
|
-
canDrop(dragNode, x, y) {
|
|
208
|
-
if (!(dragNode instanceof TabNode)) {
|
|
209
|
-
return undefined;
|
|
210
|
-
}
|
|
211
|
-
let dropInfo;
|
|
212
|
-
const dockLocation = DockLocation.CENTER;
|
|
213
|
-
if (this.tabHeaderRect.contains(x, y)) {
|
|
214
|
-
if (this.location.orientation === Orientation.VERT) {
|
|
215
|
-
if (this.children.length > 0) {
|
|
216
|
-
let child = this.children[0];
|
|
217
|
-
let childRect = child.getTabRect();
|
|
218
|
-
const childY = childRect.y;
|
|
219
|
-
const childHeight = childRect.height;
|
|
220
|
-
let pos = this.tabHeaderRect.x;
|
|
221
|
-
let childCenter = 0;
|
|
222
|
-
for (let i = 0; i < this.children.length; i++) {
|
|
223
|
-
child = this.children[i];
|
|
224
|
-
childRect = child.getTabRect();
|
|
225
|
-
childCenter = childRect.x + childRect.width / 2;
|
|
226
|
-
if (x >= pos && x < childCenter) {
|
|
227
|
-
const outlineRect = new Rect(childRect.x - 2, childY, 3, childHeight);
|
|
228
|
-
dropInfo = new DropInfo(this, outlineRect, dockLocation, i, CLASSES.FLEXLAYOUT__OUTLINE_RECT);
|
|
229
|
-
break;
|
|
230
|
-
}
|
|
231
|
-
pos = childCenter;
|
|
232
|
-
}
|
|
233
|
-
if (dropInfo == null) {
|
|
234
|
-
const outlineRect = new Rect(childRect.getRight() - 2, childY, 3, childHeight);
|
|
235
|
-
dropInfo = new DropInfo(this, outlineRect, dockLocation, this.children.length, CLASSES.FLEXLAYOUT__OUTLINE_RECT);
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
else {
|
|
239
|
-
const outlineRect = new Rect(this.tabHeaderRect.x + 1, this.tabHeaderRect.y + 2, 3, 18);
|
|
240
|
-
dropInfo = new DropInfo(this, outlineRect, dockLocation, 0, CLASSES.FLEXLAYOUT__OUTLINE_RECT);
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
else {
|
|
244
|
-
if (this.children.length > 0) {
|
|
245
|
-
let child = this.children[0];
|
|
246
|
-
let childRect = child.getTabRect();
|
|
247
|
-
const childX = childRect.x;
|
|
248
|
-
const childWidth = childRect.width;
|
|
249
|
-
let pos = this.tabHeaderRect.y;
|
|
250
|
-
let childCenter = 0;
|
|
251
|
-
for (let i = 0; i < this.children.length; i++) {
|
|
252
|
-
child = this.children[i];
|
|
253
|
-
childRect = child.getTabRect();
|
|
254
|
-
childCenter = childRect.y + childRect.height / 2;
|
|
255
|
-
if (y >= pos && y < childCenter) {
|
|
256
|
-
const outlineRect = new Rect(childX, childRect.y - 2, childWidth, 3);
|
|
257
|
-
dropInfo = new DropInfo(this, outlineRect, dockLocation, i, CLASSES.FLEXLAYOUT__OUTLINE_RECT);
|
|
258
|
-
break;
|
|
259
|
-
}
|
|
260
|
-
pos = childCenter;
|
|
261
|
-
}
|
|
262
|
-
if (dropInfo == null) {
|
|
263
|
-
const outlineRect = new Rect(childX, childRect.getBottom() - 2, childWidth, 3);
|
|
264
|
-
dropInfo = new DropInfo(this, outlineRect, dockLocation, this.children.length, CLASSES.FLEXLAYOUT__OUTLINE_RECT);
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
else {
|
|
268
|
-
const outlineRect = new Rect(this.tabHeaderRect.x + 2, this.tabHeaderRect.y + 1, 18, 3);
|
|
269
|
-
dropInfo = new DropInfo(this, outlineRect, dockLocation, 0, CLASSES.FLEXLAYOUT__OUTLINE_RECT);
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
if (!dragNode.canDockInto(dragNode, dropInfo)) {
|
|
273
|
-
return undefined;
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
else if (this.getSelected() !== -1 && this.outerRect.contains(x, y)) {
|
|
277
|
-
const outlineRect = this.outerRect;
|
|
278
|
-
dropInfo = new DropInfo(this, outlineRect, dockLocation, -1, CLASSES.FLEXLAYOUT__OUTLINE_RECT);
|
|
279
|
-
if (!dragNode.canDockInto(dragNode, dropInfo)) {
|
|
280
|
-
return undefined;
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
return dropInfo;
|
|
284
|
-
}
|
|
285
|
-
/** @internal */
|
|
286
|
-
drop(dragNode, location, index, select) {
|
|
287
|
-
let fromIndex = 0;
|
|
288
|
-
const dragParent = dragNode.getParent();
|
|
289
|
-
if (dragParent !== undefined) {
|
|
290
|
-
fromIndex = dragParent.removeChild(dragNode);
|
|
291
|
-
// if selected node in border is being docked into a different border then deselect border tabs
|
|
292
|
-
if (dragParent !== this && dragParent instanceof BorderNode && dragParent.getSelected() === fromIndex) {
|
|
293
|
-
dragParent.setSelected(-1);
|
|
294
|
-
}
|
|
295
|
-
else {
|
|
296
|
-
adjustSelectedIndex(dragParent, fromIndex);
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
// if dropping a tab back to same tabset and moving to forward position then reduce insertion index
|
|
300
|
-
if (dragNode instanceof TabNode && dragParent === this && fromIndex < index && index > 0) {
|
|
301
|
-
index--;
|
|
302
|
-
}
|
|
303
|
-
// simple_bundled dock to existing tabset
|
|
304
|
-
let insertPos = index;
|
|
305
|
-
if (insertPos === -1) {
|
|
306
|
-
insertPos = this.children.length;
|
|
307
|
-
}
|
|
308
|
-
if (dragNode instanceof TabNode) {
|
|
309
|
-
this.addChild(dragNode, insertPos);
|
|
310
|
-
}
|
|
311
|
-
if (select || (select !== false && this.isAutoSelectTab())) {
|
|
312
|
-
this.setSelected(insertPos);
|
|
313
|
-
}
|
|
314
|
-
this.model.tidy();
|
|
315
|
-
}
|
|
316
|
-
/** @internal */
|
|
317
|
-
getSplitterBounds(index, useMinSize = false) {
|
|
318
|
-
const pBounds = [0, 0];
|
|
319
|
-
const minSize = useMinSize ? this.getMinSize() : 0;
|
|
320
|
-
const maxSize = useMinSize ? this.getMaxSize() : 99999;
|
|
321
|
-
const rootRow = this.model.getRoot(Model.MAIN_WINDOW_ID);
|
|
322
|
-
const innerRect = rootRow.getRect();
|
|
323
|
-
const splitterSize = this.model.getSplitterSize();
|
|
324
|
-
if (this.location === DockLocation.TOP) {
|
|
325
|
-
pBounds[0] = this.tabHeaderRect.getBottom() + minSize;
|
|
326
|
-
const maxPos = this.tabHeaderRect.getBottom() + maxSize;
|
|
327
|
-
pBounds[1] = Math.max(pBounds[0], innerRect.getBottom() - rootRow.getMinHeight() - splitterSize);
|
|
328
|
-
pBounds[1] = Math.min(pBounds[1], maxPos);
|
|
329
|
-
}
|
|
330
|
-
else if (this.location === DockLocation.LEFT) {
|
|
331
|
-
pBounds[0] = this.tabHeaderRect.getRight() + minSize;
|
|
332
|
-
const maxPos = this.tabHeaderRect.getRight() + maxSize;
|
|
333
|
-
pBounds[1] = Math.max(pBounds[0], innerRect.getRight() - rootRow.getMinWidth() - splitterSize);
|
|
334
|
-
pBounds[1] = Math.min(pBounds[1], maxPos);
|
|
335
|
-
}
|
|
336
|
-
else if (this.location === DockLocation.BOTTOM) {
|
|
337
|
-
pBounds[1] = this.tabHeaderRect.y - minSize - splitterSize;
|
|
338
|
-
const maxPos = this.tabHeaderRect.y - maxSize - splitterSize;
|
|
339
|
-
pBounds[0] = Math.min(pBounds[1], innerRect.y + rootRow.getMinHeight());
|
|
340
|
-
pBounds[0] = Math.max(pBounds[0], maxPos);
|
|
341
|
-
}
|
|
342
|
-
else if (this.location === DockLocation.RIGHT) {
|
|
343
|
-
pBounds[1] = this.tabHeaderRect.x - minSize - splitterSize;
|
|
344
|
-
const maxPos = this.tabHeaderRect.x - maxSize - splitterSize;
|
|
345
|
-
pBounds[0] = Math.min(pBounds[1], innerRect.x + rootRow.getMinWidth());
|
|
346
|
-
pBounds[0] = Math.max(pBounds[0], maxPos);
|
|
347
|
-
}
|
|
348
|
-
return pBounds;
|
|
349
|
-
}
|
|
350
|
-
/** @internal */
|
|
351
|
-
calculateSplit(splitter, splitterPos) {
|
|
352
|
-
const pBounds = this.getSplitterBounds(splitterPos);
|
|
353
|
-
if (this.location === DockLocation.BOTTOM || this.location === DockLocation.RIGHT) {
|
|
354
|
-
return Math.max(0, pBounds[1] - splitterPos);
|
|
355
|
-
}
|
|
356
|
-
else {
|
|
357
|
-
return Math.max(0, splitterPos - pBounds[0]);
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
/** @internal */
|
|
361
|
-
getAttributeDefinitions() {
|
|
362
|
-
return BorderNode.attributeDefinitions;
|
|
363
|
-
}
|
|
364
|
-
/** @internal */
|
|
365
|
-
static getAttributeDefinitions() {
|
|
366
|
-
return BorderNode.attributeDefinitions;
|
|
367
|
-
}
|
|
368
|
-
/** @internal */
|
|
369
|
-
static createAttributeDefinitions() {
|
|
370
|
-
const attributeDefinitions = new AttributeDefinitions();
|
|
371
|
-
attributeDefinitions.add("type", BorderNode.TYPE, true).setType(Attribute.STRING).setFixed();
|
|
372
|
-
attributeDefinitions.add("selected", -1).setType(Attribute.NUMBER).setDescription(`index of selected/visible tab in border; -1 means no tab selected`);
|
|
373
|
-
attributeDefinitions.add("show", true).setType(Attribute.BOOLEAN).setDescription(`show/hide this border`);
|
|
374
|
-
attributeDefinitions.add("config", undefined).setType("any").setDescription(`a place to hold json config used in your own code`);
|
|
375
|
-
attributeDefinitions.addInherited("enableDrop", "borderEnableDrop").setType(Attribute.BOOLEAN).setDescription(`whether tabs can be dropped into this border`);
|
|
376
|
-
attributeDefinitions.addInherited("className", "borderClassName").setType(Attribute.STRING).setDescription(`class applied to tab button`);
|
|
377
|
-
attributeDefinitions.addInherited("autoSelectTabWhenOpen", "borderAutoSelectTabWhenOpen").setType(Attribute.BOOLEAN).setDescription(`whether to select new/moved tabs in border when the border is already open`);
|
|
378
|
-
attributeDefinitions.addInherited("autoSelectTabWhenClosed", "borderAutoSelectTabWhenClosed").setType(Attribute.BOOLEAN).setDescription(`whether to select new/moved tabs in border when the border is currently closed`);
|
|
379
|
-
attributeDefinitions.addInherited("size", "borderSize").setType(Attribute.NUMBER).setDescription(`size of the tab area when selected`);
|
|
380
|
-
attributeDefinitions.addInherited("minSize", "borderMinSize").setType(Attribute.NUMBER).setDescription(`the minimum size of the tab area`);
|
|
381
|
-
attributeDefinitions.addInherited("maxSize", "borderMaxSize").setType(Attribute.NUMBER).setDescription(`the maximum size of the tab area`);
|
|
382
|
-
attributeDefinitions.addInherited("enableAutoHide", "borderEnableAutoHide").setType(Attribute.BOOLEAN).setDescription(`hide border if it has zero tabs`);
|
|
383
|
-
attributeDefinitions.addInherited("enableTabScrollbar", "borderEnableTabScrollbar").setType(Attribute.BOOLEAN).setDescription(`whether to show a mini scrollbar for the tabs`);
|
|
384
|
-
return attributeDefinitions;
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
BorderNode.TYPE = "border";
|
|
388
|
-
/** @internal */
|
|
389
|
-
BorderNode.attributeDefinitions = BorderNode.createAttributeDefinitions();
|
|
390
|
-
//# sourceMappingURL=BorderNode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BorderNode.js","sourceRoot":"","sources":["../../../src/model/BorderNode.ts"],"names":[],"mappings":"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"}
|