flexlayout-react 0.7.12 → 0.7.13

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 (62) hide show
  1. package/ChangeLog.txt +8 -0
  2. package/declarations/Rect.d.ts +1 -1
  3. package/declarations/Types.d.ts +1 -0
  4. package/declarations/model/IJsonModel.d.ts +2 -0
  5. package/declarations/model/TabSetNode.d.ts +1 -0
  6. package/declarations/view/Layout.d.ts +4 -2
  7. package/dist/flexlayout.js +13 -13
  8. package/dist/flexlayout_min.js +1 -1
  9. package/lib/DragDrop.js +1 -1
  10. package/lib/DragDrop.js.map +1 -1
  11. package/lib/PopupMenu.js +9 -4
  12. package/lib/PopupMenu.js.map +1 -1
  13. package/lib/Rect.js +1 -6
  14. package/lib/Rect.js.map +1 -1
  15. package/lib/Types.js +1 -0
  16. package/lib/Types.js.map +1 -1
  17. package/lib/model/Model.js +1 -0
  18. package/lib/model/Model.js.map +1 -1
  19. package/lib/model/TabSetNode.js +4 -0
  20. package/lib/model/TabSetNode.js.map +1 -1
  21. package/lib/view/BorderButton.js +7 -5
  22. package/lib/view/BorderButton.js.map +1 -1
  23. package/lib/view/FloatingWindow.js +3 -2
  24. package/lib/view/FloatingWindow.js.map +1 -1
  25. package/lib/view/Layout.js +117 -57
  26. package/lib/view/Layout.js.map +1 -1
  27. package/lib/view/Splitter.js +18 -6
  28. package/lib/view/Splitter.js.map +1 -1
  29. package/lib/view/TabButton.js +17 -12
  30. package/lib/view/TabButton.js.map +1 -1
  31. package/lib/view/TabOverflowHook.js +7 -4
  32. package/lib/view/TabOverflowHook.js.map +1 -1
  33. package/lib/view/TabSet.js +11 -5
  34. package/lib/view/TabSet.js.map +1 -1
  35. package/package.json +1 -1
  36. package/src/DragDrop.ts +2 -2
  37. package/src/PopupMenu.tsx +8 -4
  38. package/src/Rect.ts +2 -6
  39. package/src/Types.ts +1 -0
  40. package/src/model/IJsonModel.ts +4 -2
  41. package/src/model/Model.ts +1 -0
  42. package/src/model/TabSetNode.ts +6 -0
  43. package/src/view/BorderButton.tsx +13 -5
  44. package/src/view/FloatingWindow.tsx +3 -3
  45. package/src/view/Layout.tsx +145 -69
  46. package/src/view/Splitter.tsx +36 -7
  47. package/src/view/TabButton.tsx +22 -11
  48. package/src/view/TabOverflowHook.tsx +8 -5
  49. package/src/view/TabSet.tsx +13 -5
  50. package/style/_base.scss +21 -0
  51. package/style/dark.css +17 -0
  52. package/style/dark.css.map +1 -1
  53. package/style/dark.scss +6 -0
  54. package/style/gray.css +17 -0
  55. package/style/gray.css.map +1 -1
  56. package/style/gray.scss +6 -0
  57. package/style/light.css +561 -544
  58. package/style/light.css.map +1 -1
  59. package/style/light.scss +6 -0
  60. package/style/underline.css +17 -0
  61. package/style/underline.css.map +1 -1
  62. package/style/underline.scss +6 -0
package/ChangeLog.txt CHANGED
@@ -1,3 +1,11 @@
1
+ 0.7.13
2
+ New attribute on tabset: enableSingleTabStretch will stretch a single tab to take up
3
+ all the remaining space and change the style to look like a header, combined with enableDrop
4
+ this can be used to create a Mosaic style layout (headed panels without tabs), see the new
5
+ Mosaic Style layout in the Demo.
6
+ The layout methods addTabToTabSet and addTabToActiveTabSet now return the added TabNode.
7
+ Fixed #352 - Layout.getDomRect returning null.
8
+
1
9
  0.7.12
2
10
  Action.setActiveTabset can now take undefined to unset the active tabset.
3
11
  Added Tab attribute contentClassName to add a class to the tab content.
@@ -7,7 +7,7 @@ export declare class Rect {
7
7
  constructor(x: number, y: number, width: number, height: number);
8
8
  static fromElement(element: Element): Rect;
9
9
  clone(): Rect;
10
- equals(rect: Rect): boolean;
10
+ equals(rect: Rect | null | undefined): boolean;
11
11
  getBottom(): number;
12
12
  getRight(): number;
13
13
  getCenter(): {
@@ -57,6 +57,7 @@ export declare enum CLASSES {
57
57
  FLEXLAYOUT__TAB_BORDER = "flexlayout__tab_border",
58
58
  FLEXLAYOUT__TAB_BORDER_ = "flexlayout__tab_border_",
59
59
  FLEXLAYOUT__TAB_BUTTON = "flexlayout__tab_button",
60
+ FLEXLAYOUT__TAB_BUTTON_STRETCH = "flexlayout__tab_button_stretch",
60
61
  FLEXLAYOUT__TAB_BUTTON_CONTENT = "flexlayout__tab_button_content",
61
62
  FLEXLAYOUT__TAB_BUTTON_LEADING = "flexlayout__tab_button_leading",
62
63
  FLEXLAYOUT__TAB_BUTTON_OVERFLOW = "flexlayout__tab_button_overflow",
@@ -65,6 +65,7 @@ export interface IGlobalAttributes {
65
65
  tabSetEnableDrag?: boolean;
66
66
  tabSetEnableDrop?: boolean;
67
67
  tabSetEnableMaximize?: boolean;
68
+ tabSetEnableSingleTabStretch?: boolean;
68
69
  tabSetEnableTabStrip?: boolean;
69
70
  tabSetHeaderHeight?: number;
70
71
  tabSetMarginInsets?: IInsets;
@@ -92,6 +93,7 @@ export interface ITabSetAttributes {
92
93
  enableDrag?: boolean;
93
94
  enableDrop?: boolean;
94
95
  enableMaximize?: boolean;
96
+ enableSingleTabStretch?: boolean;
95
97
  enableTabStrip?: boolean;
96
98
  headerHeight?: number;
97
99
  height?: number;
@@ -28,6 +28,7 @@ export declare class TabSetNode extends Node implements IDraggable, IDropTarget
28
28
  isEnableDivide(): boolean;
29
29
  isEnableMaximize(): boolean;
30
30
  isEnableClose(): boolean;
31
+ isEnableSingleTabStretch(): boolean;
31
32
  canMaximize(): boolean;
32
33
  isEnableTabStrip(): boolean;
33
34
  isAutoSelectTab(): boolean;
@@ -126,13 +126,15 @@ export declare class Layout extends React.Component<ILayoutProps, ILayoutState>
126
126
  * Adds a new tab to the given tabset
127
127
  * @param tabsetId the id of the tabset where the new tab will be added
128
128
  * @param json the json for the new tab node
129
+ * @returns the added tab node or undefined
129
130
  */
130
- addTabToTabSet(tabsetId: string, json: IJsonTabNode): void;
131
+ addTabToTabSet(tabsetId: string, json: IJsonTabNode): TabNode | undefined;
131
132
  /**
132
133
  * Adds a new tab to the active tabset (if there is one)
133
134
  * @param json the json for the new tab node
135
+ * @returns the added tab node or undefined
134
136
  */
135
- addTabToActiveTabSet(json: IJsonTabNode): void;
137
+ addTabToActiveTabSet(json: IJsonTabNode): TabNode | undefined;
136
138
  /**
137
139
  * Adds a new tab by dragging a labeled panel to the drop location, dragging starts immediatelly
138
140
  * @param dragText the text to show on the drag panel