flexlayout-react 0.7.14 → 0.8.0

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 (252) hide show
  1. package/ChangeLog.txt +26 -0
  2. package/README.md +157 -330
  3. package/Screenshot_light.png +0 -0
  4. package/Screenshot_rounded.png +0 -0
  5. package/declarations/Attribute.d.ts +1 -1
  6. package/declarations/AttributeDefinitions.d.ts +1 -1
  7. package/declarations/DockLocation.d.ts +12 -12
  8. package/declarations/DropInfo.d.ts +12 -12
  9. package/declarations/I18nLabel.d.ts +12 -14
  10. package/declarations/Orientation.d.ts +7 -7
  11. package/declarations/PopupMenu.d.ts +1 -1
  12. package/declarations/Rect.d.ts +41 -28
  13. package/declarations/Types.d.ts +95 -79
  14. package/declarations/examples/demo/Utils.d.ts +4 -0
  15. package/declarations/index.d.ts +21 -22
  16. package/declarations/model/Action.d.ts +5 -5
  17. package/declarations/model/Actions.d.ts +127 -110
  18. package/declarations/model/BorderNode.d.ts +30 -34
  19. package/declarations/model/BorderSet.d.ts +3 -4
  20. package/declarations/model/ICloseType.d.ts +5 -5
  21. package/declarations/model/IDraggable.d.ts +2 -2
  22. package/declarations/model/IDropTarget.d.ts +2 -2
  23. package/declarations/model/IJsonModel.d.ts +811 -149
  24. package/declarations/model/LayoutWindow.d.ts +28 -0
  25. package/declarations/model/Model.d.ts +91 -86
  26. package/declarations/model/Node.d.ts +17 -17
  27. package/declarations/model/RowNode.d.ts +10 -11
  28. package/declarations/model/TabNode.d.ts +44 -37
  29. package/declarations/model/TabSetNode.d.ts +44 -41
  30. package/declarations/model/Utils.d.ts +1 -1
  31. package/declarations/model/WindowLayout.d.ts +24 -0
  32. package/declarations/src/Attribute.d.ts +1 -0
  33. package/declarations/src/AttributeDefinitions.d.ts +1 -0
  34. package/declarations/src/DockLocation.d.ts +12 -0
  35. package/declarations/src/DropInfo.d.ts +12 -0
  36. package/declarations/src/I18nLabel.d.ts +10 -0
  37. package/declarations/src/Orientation.d.ts +7 -0
  38. package/declarations/src/PopupMenu.d.ts +1 -0
  39. package/declarations/src/Rect.d.ts +31 -0
  40. package/declarations/src/Types.d.ts +92 -0
  41. package/declarations/src/index.d.ts +20 -0
  42. package/declarations/src/model/Action.d.ts +5 -0
  43. package/declarations/src/model/Actions.d.ts +110 -0
  44. package/declarations/src/model/BorderNode.d.ts +28 -0
  45. package/declarations/src/model/BorderSet.d.ts +3 -0
  46. package/declarations/src/model/ICloseType.d.ts +5 -0
  47. package/declarations/src/model/IDraggable.d.ts +2 -0
  48. package/declarations/src/model/IDropTarget.d.ts +2 -0
  49. package/declarations/src/model/IJsonModel.d.ts +153 -0
  50. package/declarations/src/model/Model.d.ts +98 -0
  51. package/declarations/src/model/Node.d.ts +16 -0
  52. package/declarations/src/model/RowNode.d.ts +11 -0
  53. package/declarations/src/model/TabNode.d.ts +36 -0
  54. package/declarations/src/model/TabSetNode.d.ts +37 -0
  55. package/declarations/src/model/Utils.d.ts +1 -0
  56. package/declarations/src/view/BorderButton.d.ts +1 -0
  57. package/declarations/src/view/BorderTab.d.ts +2 -0
  58. package/declarations/src/view/BorderTabSet.d.ts +1 -0
  59. package/declarations/src/view/DragContainer.d.ts +1 -0
  60. package/declarations/src/view/ErrorBoundary.d.ts +1 -0
  61. package/declarations/src/view/FloatingWindow.d.ts +1 -0
  62. package/declarations/src/view/Icons.d.ts +7 -0
  63. package/declarations/src/view/Layout.d.ts +113 -0
  64. package/declarations/src/view/Overlay.d.ts +1 -0
  65. package/declarations/src/view/PopupMenu.d.ts +1 -0
  66. package/declarations/src/view/Row.d.ts +1 -0
  67. package/declarations/src/view/Splitter.d.ts +1 -0
  68. package/declarations/src/view/Tab.d.ts +1 -0
  69. package/declarations/src/view/TabButton.d.ts +1 -0
  70. package/declarations/src/view/TabButtonStamp.d.ts +1 -0
  71. package/declarations/src/view/TabOverflowHook.d.ts +1 -0
  72. package/declarations/src/view/TabSet.d.ts +1 -0
  73. package/declarations/src/view/Utils.d.ts +4 -0
  74. package/declarations/view/BorderButton.d.ts +1 -1
  75. package/declarations/view/BorderTab.d.ts +2 -0
  76. package/declarations/view/BorderTabSet.d.ts +1 -1
  77. package/declarations/view/DragContainer.d.ts +1 -0
  78. package/declarations/view/ErrorBoundary.d.ts +1 -1
  79. package/declarations/view/ExtendedResizeObserver.d.ts +23 -0
  80. package/declarations/view/FloatingWindow.d.ts +1 -1
  81. package/declarations/view/Icons.d.ts +8 -6
  82. package/declarations/view/Layout.d.ts +139 -160
  83. package/declarations/view/Overlay.d.ts +1 -0
  84. package/declarations/view/PopoutWindow.d.ts +1 -0
  85. package/declarations/view/PopupMenu.d.ts +1 -0
  86. package/declarations/view/Row.d.ts +1 -0
  87. package/declarations/view/SizeTracker.d.ts +10 -0
  88. package/declarations/view/Splitter.d.ts +1 -1
  89. package/declarations/view/Tab.d.ts +1 -1
  90. package/declarations/view/TabButton.d.ts +1 -1
  91. package/declarations/view/TabButtonStamp.d.ts +1 -1
  92. package/declarations/view/TabOverflowHook.d.ts +1 -1
  93. package/declarations/view/TabSet.d.ts +1 -1
  94. package/declarations/view/Utils.d.ts +11 -1
  95. package/dist/bundles/demo.js +232052 -0
  96. package/dist/bundles/demo.js.map +1 -0
  97. package/dist/flexlayout.js +122 -92
  98. package/dist/flexlayout_min.js +1 -1
  99. package/lib/Attribute.js +42 -31
  100. package/lib/Attribute.js.map +1 -1
  101. package/lib/AttributeDefinitions.js +131 -108
  102. package/lib/AttributeDefinitions.js.map +1 -1
  103. package/lib/DockLocation.js +120 -124
  104. package/lib/DockLocation.js.map +1 -1
  105. package/lib/DropInfo.js +9 -13
  106. package/lib/DropInfo.js.map +1 -1
  107. package/lib/I18nLabel.js +13 -18
  108. package/lib/I18nLabel.js.map +1 -1
  109. package/lib/Orientation.js +22 -26
  110. package/lib/Orientation.js.map +1 -1
  111. package/lib/Rect.js +104 -72
  112. package/lib/Rect.js.map +1 -1
  113. package/lib/Types.js +96 -83
  114. package/lib/Types.js.map +1 -1
  115. package/lib/index.js +21 -38
  116. package/lib/index.js.map +1 -1
  117. package/lib/model/Action.js +6 -10
  118. package/lib/model/Action.js.map +1 -1
  119. package/lib/model/Actions.js +169 -155
  120. package/lib/model/Actions.js.map +1 -1
  121. package/lib/model/BorderNode.js +385 -406
  122. package/lib/model/BorderNode.js.map +1 -1
  123. package/lib/model/BorderSet.js +66 -121
  124. package/lib/model/BorderSet.js.map +1 -1
  125. package/lib/model/ICloseType.js +6 -9
  126. package/lib/model/ICloseType.js.map +1 -1
  127. package/lib/model/IDraggable.js +1 -2
  128. package/lib/model/IDropTarget.js +1 -2
  129. package/lib/model/IJsonModel.js +1 -2
  130. package/lib/model/LayoutWindow.js +83 -0
  131. package/lib/model/LayoutWindow.js.map +1 -0
  132. package/lib/model/Model.js +614 -496
  133. package/lib/model/Model.js.map +1 -1
  134. package/lib/model/Node.js +217 -228
  135. package/lib/model/Node.js.map +1 -1
  136. package/lib/model/RowNode.js +491 -504
  137. package/lib/model/RowNode.js.map +1 -1
  138. package/lib/model/TabNode.js +289 -184
  139. package/lib/model/TabNode.js.map +1 -1
  140. package/lib/model/TabSetNode.js +457 -446
  141. package/lib/model/TabSetNode.js.map +1 -1
  142. package/lib/model/Utils.js +47 -82
  143. package/lib/model/Utils.js.map +1 -1
  144. package/lib/view/BorderButton.js +124 -138
  145. package/lib/view/BorderButton.js.map +1 -1
  146. package/lib/view/BorderTab.js +47 -0
  147. package/lib/view/BorderTab.js.map +1 -0
  148. package/lib/view/BorderTabSet.js +134 -128
  149. package/lib/view/BorderTabSet.js.map +1 -1
  150. package/lib/view/DragContainer.js +16 -0
  151. package/lib/view/DragContainer.js.map +1 -0
  152. package/lib/view/ErrorBoundary.js +23 -27
  153. package/lib/view/ErrorBoundary.js.map +1 -1
  154. package/lib/view/Icons.js +40 -40
  155. package/lib/view/Icons.js.map +1 -1
  156. package/lib/view/Layout.js +918 -901
  157. package/lib/view/Layout.js.map +1 -1
  158. package/lib/view/Overlay.js +9 -0
  159. package/lib/view/Overlay.js.map +1 -0
  160. package/lib/view/PopoutWindow.js +129 -0
  161. package/lib/view/PopoutWindow.js.map +1 -0
  162. package/lib/view/PopupMenu.js +71 -0
  163. package/lib/view/PopupMenu.js.map +1 -0
  164. package/lib/view/Row.js +45 -0
  165. package/lib/view/Row.js.map +1 -0
  166. package/lib/view/SizeTracker.js +11 -0
  167. package/lib/view/SizeTracker.js.map +1 -0
  168. package/lib/view/Splitter.js +191 -147
  169. package/lib/view/Splitter.js.map +1 -1
  170. package/lib/view/Tab.js +86 -60
  171. package/lib/view/Tab.js.map +1 -1
  172. package/lib/view/TabButton.js +122 -135
  173. package/lib/view/TabButton.js.map +1 -1
  174. package/lib/view/TabButtonStamp.js +16 -21
  175. package/lib/view/TabButtonStamp.js.map +1 -1
  176. package/lib/view/TabOverflowHook.js +150 -149
  177. package/lib/view/TabOverflowHook.js.map +1 -1
  178. package/lib/view/TabSet.js +267 -234
  179. package/lib/view/TabSet.js.map +1 -1
  180. package/lib/view/Utils.js +126 -68
  181. package/lib/view/Utils.js.map +1 -1
  182. package/package.json +36 -30
  183. package/src/Attribute.ts +23 -0
  184. package/src/AttributeDefinitions.ts +38 -15
  185. package/src/DockLocation.ts +13 -13
  186. package/src/I18nLabel.ts +7 -9
  187. package/src/Rect.ts +53 -1
  188. package/src/Types.ts +16 -0
  189. package/src/index.ts +1 -2
  190. package/src/model/Actions.ts +49 -29
  191. package/src/model/BorderNode.ts +208 -214
  192. package/src/model/BorderSet.ts +42 -91
  193. package/src/model/IJsonModel.ts +883 -103
  194. package/src/model/LayoutWindow.ts +121 -0
  195. package/src/model/Model.ts +488 -366
  196. package/src/model/Node.ts +98 -111
  197. package/src/model/RowNode.ts +323 -319
  198. package/src/model/TabNode.ts +294 -110
  199. package/src/model/TabSetNode.ts +300 -242
  200. package/src/model/Utils.ts +6 -32
  201. package/src/view/BorderButton.tsx +32 -52
  202. package/src/view/BorderTab.tsx +70 -0
  203. package/src/view/BorderTabSet.tsx +64 -52
  204. package/src/view/DragContainer.tsx +32 -0
  205. package/src/view/Icons.tsx +13 -0
  206. package/src/view/Layout.tsx +1071 -1047
  207. package/src/view/Overlay.tsx +22 -0
  208. package/src/view/PopoutWindow.tsx +152 -0
  209. package/src/{PopupMenu.tsx → view/PopupMenu.tsx} +36 -31
  210. package/src/view/Row.tsx +68 -0
  211. package/src/view/SizeTracker.tsx +20 -0
  212. package/src/view/Splitter.tsx +167 -112
  213. package/src/view/Tab.tsx +76 -42
  214. package/src/view/TabButton.tsx +36 -55
  215. package/src/view/TabButtonStamp.tsx +5 -9
  216. package/src/view/TabOverflowHook.tsx +14 -9
  217. package/src/view/TabSet.tsx +217 -176
  218. package/src/view/Utils.tsx +119 -39
  219. package/style/_base.scss +143 -35
  220. package/style/dark.css +685 -577
  221. package/style/dark.css.map +1 -1
  222. package/style/dark.scss +4 -1
  223. package/style/gray.css +668 -560
  224. package/style/gray.css.map +1 -1
  225. package/style/gray.scss +4 -1
  226. package/style/light.css +669 -561
  227. package/style/light.css.map +1 -1
  228. package/style/light.scss +6 -3
  229. package/style/rounded.css +697 -0
  230. package/style/rounded.css.map +1 -0
  231. package/style/rounded.scss +194 -0
  232. package/style/underline.css +690 -582
  233. package/style/underline.css.map +1 -1
  234. package/style/underline.scss +4 -1
  235. package/cypress.config.ts +0 -16
  236. package/lib/DragDrop.js +0 -316
  237. package/lib/DragDrop.js.map +0 -1
  238. package/lib/PopupMenu.js +0 -68
  239. package/lib/PopupMenu.js.map +0 -1
  240. package/lib/model/SplitterNode.js +0 -72
  241. package/lib/model/SplitterNode.js.map +0 -1
  242. package/lib/view/FloatingWindow.js +0 -123
  243. package/lib/view/FloatingWindow.js.map +0 -1
  244. package/lib/view/FloatingWindowTab.js +0 -19
  245. package/lib/view/FloatingWindowTab.js.map +0 -1
  246. package/lib/view/TabFloating.js +0 -66
  247. package/lib/view/TabFloating.js.map +0 -1
  248. package/src/DragDrop.ts +0 -392
  249. package/src/model/SplitterNode.ts +0 -78
  250. package/src/view/FloatingWindow.tsx +0 -140
  251. package/src/view/FloatingWindowTab.tsx +0 -29
  252. package/src/view/TabFloating.tsx +0 -101
@@ -1,110 +1,127 @@
1
- import { DockLocation } from "../DockLocation";
2
- import { Action } from "./Action";
3
- /**
4
- * The Action creator class for FlexLayout model actions
5
- */
6
- export declare class Actions {
7
- static ADD_NODE: string;
8
- static MOVE_NODE: string;
9
- static DELETE_TAB: string;
10
- static DELETE_TABSET: string;
11
- static RENAME_TAB: string;
12
- static SELECT_TAB: string;
13
- static SET_ACTIVE_TABSET: string;
14
- static ADJUST_SPLIT: string;
15
- static ADJUST_BORDER_SPLIT: string;
16
- static MAXIMIZE_TOGGLE: string;
17
- static UPDATE_MODEL_ATTRIBUTES: string;
18
- static UPDATE_NODE_ATTRIBUTES: string;
19
- static FLOAT_TAB: string;
20
- static UNFLOAT_TAB: string;
21
- /**
22
- * Adds a tab node to the given tabset node
23
- * @param json the json for the new tab node e.g {type:"tab", component:"table"}
24
- * @param toNodeId the new tab node will be added to the tabset with this node id
25
- * @param location the location where the new tab will be added, one of the DockLocation enum values.
26
- * @param index for docking to the center this value is the index of the tab, use -1 to add to the end.
27
- * @param select (optional) whether to select the new tab, overriding autoSelectTab
28
- * @returns {Action} the action
29
- */
30
- static addNode(json: any, toNodeId: string, location: DockLocation, index: number, select?: boolean): Action;
31
- /**
32
- * Moves a node (tab or tabset) from one location to another
33
- * @param fromNodeId the id of the node to move
34
- * @param toNodeId the id of the node to receive the moved node
35
- * @param location the location where the moved node will be added, one of the DockLocation enum values.
36
- * @param index for docking to the center this value is the index of the tab, use -1 to add to the end.
37
- * @param select (optional) whether to select the moved tab(s) in new tabset, overriding autoSelectTab
38
- * @returns {Action} the action
39
- */
40
- static moveNode(fromNodeId: string, toNodeId: string, location: DockLocation, index: number, select?: boolean): Action;
41
- /**
42
- * Deletes a tab node from the layout
43
- * @param tabsetNodeId the id of the tab node to delete
44
- * @returns {Action} the action
45
- */
46
- static deleteTab(tabNodeId: string): Action;
47
- /**
48
- * Deletes a tabset node and all it's child tab nodes from the layout
49
- * @param tabsetNodeId the id of the tabset node to delete
50
- * @returns {Action} the action
51
- */
52
- static deleteTabset(tabsetNodeId: string): Action;
53
- /**
54
- * Change the given nodes tab text
55
- * @param tabNodeId the id of the node to rename
56
- * @param text the test of the tab
57
- * @returns {Action} the action
58
- */
59
- static renameTab(tabNodeId: string, text: string): Action;
60
- /**
61
- * Selects the given tab in its parent tabset
62
- * @param tabNodeId the id of the node to set selected
63
- * @returns {Action} the action
64
- */
65
- static selectTab(tabNodeId: string): Action;
66
- /**
67
- * Set the given tabset node as the active tabset
68
- * @param tabsetNodeId the id of the tabset node to set as active
69
- * @returns {Action} the action
70
- */
71
- static setActiveTabset(tabsetNodeId: string | undefined): Action;
72
- /**
73
- * Adjust the splitter between two tabsets
74
- * @example
75
- * Actions.adjustSplit({node1: "1", weight1:30, pixelWidth1:300, node2: "2", weight2:70, pixelWidth2:700});
76
- *
77
- * @param splitSpec an object the defines the new split between two tabsets, see example below.
78
- * @returns {Action} the action
79
- */
80
- static adjustSplit(splitSpec: {
81
- node1Id: string;
82
- weight1: number;
83
- pixelWidth1: number;
84
- node2Id: string;
85
- weight2: number;
86
- pixelWidth2: number;
87
- }): Action;
88
- static adjustBorderSplit(nodeId: string, pos: number): Action;
89
- /**
90
- * Maximizes the given tabset
91
- * @param tabsetNodeId the id of the tabset to maximize
92
- * @returns {Action} the action
93
- */
94
- static maximizeToggle(tabsetNodeId: string): Action;
95
- /**
96
- * Updates the global model jsone attributes
97
- * @param attributes the json for the model attributes to update (merge into the existing attributes)
98
- * @returns {Action} the action
99
- */
100
- static updateModelAttributes(attributes: any): Action;
101
- /**
102
- * Updates the given nodes json attributes
103
- * @param nodeId the id of the node to update
104
- * @param attributes the json attributes to update (merge with the existing attributes)
105
- * @returns {Action} the action
106
- */
107
- static updateNodeAttributes(nodeId: string, attributes: any): Action;
108
- static floatTab(nodeId: string): Action;
109
- static unFloatTab(nodeId: string): Action;
110
- }
1
+ import { DockLocation } from "../DockLocation";
2
+ import { Action } from "./Action";
3
+ import { IJsonRect, IJsonRowNode } from "./IJsonModel";
4
+ /**
5
+ * The Action creator class for FlexLayout model actions
6
+ */
7
+ export declare class Actions {
8
+ static ADD_NODE: string;
9
+ static MOVE_NODE: string;
10
+ static DELETE_TAB: string;
11
+ static DELETE_TABSET: string;
12
+ static RENAME_TAB: string;
13
+ static SELECT_TAB: string;
14
+ static SET_ACTIVE_TABSET: string;
15
+ static ADJUST_WEIGHTS: string;
16
+ static ADJUST_BORDER_SPLIT: string;
17
+ static MAXIMIZE_TOGGLE: string;
18
+ static UPDATE_MODEL_ATTRIBUTES: string;
19
+ static UPDATE_NODE_ATTRIBUTES: string;
20
+ static POPOUT_TAB: string;
21
+ static POPOUT_TABSET: string;
22
+ static CLOSE_WINDOW: string;
23
+ static CREATE_WINDOW: string;
24
+ /**
25
+ * Adds a tab node to the given tabset node
26
+ * @param json the json for the new tab node e.g {type:"tab", component:"table"}
27
+ * @param toNodeId the new tab node will be added to the tabset with this node id
28
+ * @param location the location where the new tab 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 new tab, overriding autoSelectTab
31
+ * @returns {Action} the action
32
+ */
33
+ static addNode(json: any, toNodeId: string, location: DockLocation, index: number, select?: boolean): Action;
34
+ /**
35
+ * Moves a node (tab or tabset) from one location to another
36
+ * @param fromNodeId the id of the node to move
37
+ * @param toNodeId the id of the node to receive the moved node
38
+ * @param location the location where the moved node will be added, one of the DockLocation enum values.
39
+ * @param index for docking to the center this value is the index of the tab, use -1 to add to the end.
40
+ * @param select (optional) whether to select the moved tab(s) in new tabset, overriding autoSelectTab
41
+ * @returns {Action} the action
42
+ */
43
+ static moveNode(fromNodeId: string, toNodeId: string, location: DockLocation, index: number, select?: boolean): Action;
44
+ /**
45
+ * Deletes a tab node from the layout
46
+ * @param tabNodeId the id of the tab node to delete
47
+ * @returns {Action} the action
48
+ */
49
+ static deleteTab(tabNodeId: string): Action;
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: string): Action;
56
+ /**
57
+ * Change the given nodes tab text
58
+ * @param tabNodeId the id of the node to rename
59
+ * @param text the test of the tab
60
+ * @returns {Action} the action
61
+ */
62
+ static renameTab(tabNodeId: string, text: string): Action;
63
+ /**
64
+ * Selects the given tab in its parent tabset
65
+ * @param tabNodeId the id of the node to set selected
66
+ * @returns {Action} the action
67
+ */
68
+ static selectTab(tabNodeId: string): Action;
69
+ /**
70
+ * Set the given tabset node as the active tabset
71
+ * @param tabsetNodeId the id of the tabset node to set as active
72
+ * @returns {Action} the action
73
+ */
74
+ static setActiveTabset(tabsetNodeId: string | undefined, windowId?: string | undefined): Action;
75
+ /**
76
+ * Adjust the weights of a row, used when the splitter is moved
77
+ * @param nodeId the row node whose childrens weights are being adjusted
78
+ * @param weights an array of weights to be applied to the children
79
+ * @returns {Action} the action
80
+ */
81
+ static adjustWeights(nodeId: string, weights: number[]): Action;
82
+ static adjustBorderSplit(nodeId: string, pos: number): Action;
83
+ /**
84
+ * Maximizes the given tabset
85
+ * @param tabsetNodeId the id of the tabset to maximize
86
+ * @returns {Action} the action
87
+ */
88
+ static maximizeToggle(tabsetNodeId: string, windowId?: string | undefined): Action;
89
+ /**
90
+ * Updates the global model jsone attributes
91
+ * @param attributes the json for the model attributes to update (merge into the existing attributes)
92
+ * @returns {Action} the action
93
+ */
94
+ static updateModelAttributes(attributes: any): Action;
95
+ /**
96
+ * Updates the given nodes json attributes
97
+ * @param nodeId the id of the node to update
98
+ * @param attributes the json attributes to update (merge with the existing attributes)
99
+ * @returns {Action} the action
100
+ */
101
+ static updateNodeAttributes(nodeId: string, attributes: any): Action;
102
+ /**
103
+ * Pops out the given tab node into a new browser window
104
+ * @param nodeId the tab node to popout
105
+ * @returns
106
+ */
107
+ static popoutTab(nodeId: string): Action;
108
+ /**
109
+ * Pops out the given tab set node into a new browser window
110
+ * @param nodeId the tab set node to popout
111
+ * @returns
112
+ */
113
+ static popoutTabset(nodeId: string): Action;
114
+ /**
115
+ * Closes the popout window
116
+ * @param windowId the id of the popout window to close
117
+ * @returns
118
+ */
119
+ static closeWindow(windowId: string): Action;
120
+ /**
121
+ * Creates a new empty popout window with the given layout
122
+ * @param layout the json layout for the new window
123
+ * @param rect the window rectangle in screen coordinates
124
+ * @returns
125
+ */
126
+ static createWindow(layout: IJsonRowNode, rect: IJsonRect): Action;
127
+ }
@@ -1,34 +1,30 @@
1
- import { DockLocation } from "../DockLocation";
2
- import { Orientation } from "../Orientation";
3
- import { Rect } from "../Rect";
4
- import { IDropTarget } from "./IDropTarget";
5
- import { IJsonBorderNode } from "./IJsonModel";
6
- import { Node } from "./Node";
7
- export declare class BorderNode extends Node implements IDropTarget {
8
- static readonly TYPE = "border";
9
- getLocation(): DockLocation;
10
- getTabHeaderRect(): Rect | undefined;
11
- getRect(): Rect;
12
- getContentRect(): Rect | undefined;
13
- isEnableDrop(): boolean;
14
- isAutoSelectTab(whenOpen?: boolean): boolean;
15
- getClassName(): string | undefined;
16
- getBorderBarSize(): number;
17
- getSize(): any;
18
- getMinSize(): number;
19
- getSelected(): number;
20
- getSelectedNode(): Node | undefined;
21
- getOrientation(): Orientation;
22
- /**
23
- * Returns the config attribute that can be used to store node specific data that
24
- * WILL be saved to the json. The config attribute should be changed via the action Actions.updateNodeAttributes rather
25
- * than directly, for example:
26
- * this.state.model.doAction(
27
- * FlexLayout.Actions.updateNodeAttributes(node.getId(), {config:myConfigObject}));
28
- */
29
- getConfig(): any;
30
- isMaximized(): boolean;
31
- isShowing(): boolean;
32
- isAutoHide(): boolean;
33
- toJson(): IJsonBorderNode;
34
- }
1
+ import { DockLocation } from "../DockLocation";
2
+ import { Orientation } from "../Orientation";
3
+ import { IDropTarget } from "./IDropTarget";
4
+ import { IJsonBorderNode } from "./IJsonModel";
5
+ import { Node } from "./Node";
6
+ import { TabNode } from "./TabNode";
7
+ export declare class BorderNode extends Node implements IDropTarget {
8
+ static readonly TYPE = "border";
9
+ getLocation(): DockLocation;
10
+ getClassName(): string | undefined;
11
+ isHorizontal(): boolean;
12
+ getSize(): any;
13
+ getMinSize(): number;
14
+ getMaxSize(): number;
15
+ getSelected(): number;
16
+ isAutoHide(): boolean;
17
+ getSelectedNode(): TabNode | undefined;
18
+ getOrientation(): Orientation;
19
+ /**
20
+ * Returns the config attribute that can be used to store node specific data that
21
+ * WILL be saved to the json. The config attribute should be changed via the action Actions.updateNodeAttributes rather
22
+ * than directly, for example:
23
+ * this.state.model.doAction(
24
+ * FlexLayout.Actions.updateNodeAttributes(node.getId(), {config:myConfigObject}));
25
+ */
26
+ getConfig(): any;
27
+ isMaximized(): boolean;
28
+ isShowing(): boolean;
29
+ toJson(): IJsonBorderNode;
30
+ }
@@ -1,4 +1,3 @@
1
- import { BorderNode } from "./BorderNode";
2
- export declare class BorderSet {
3
- getBorders(): BorderNode[];
4
- }
1
+ export declare class BorderSet {
2
+ toJson(): import("./IJsonModel").IJsonBorderNode[];
3
+ }
@@ -1,5 +1,5 @@
1
- export declare enum ICloseType {
2
- Visible = 1,
3
- Always = 2,
4
- Selected = 3
5
- }
1
+ export declare enum ICloseType {
2
+ Visible = 1,// close if selected or hovered, i.e. when x is visible (will only close selected on mobile, where css hover is not available)
3
+ Always = 2,// close always (both selected and unselected when x rect tapped e.g where a custom image has been added for close)
4
+ Selected = 3
5
+ }
@@ -1,2 +1,2 @@
1
- export interface IDraggable {
2
- }
1
+ export interface IDraggable {
2
+ }
@@ -1,2 +1,2 @@
1
- export interface IDropTarget {
2
- }
1
+ export interface IDropTarget {
2
+ }