flexlayout-react 0.5.15 → 0.5.19
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/ChangeLog.txt +26 -0
- package/README.md +121 -97
- package/declarations/DragDrop.d.ts +1 -0
- package/declarations/I18nLabel.d.ts +1 -0
- package/declarations/Rect.d.ts +4 -0
- package/declarations/Types.d.ts +9 -1
- package/declarations/model/Actions.d.ts +18 -11
- package/declarations/model/BorderNode.d.ts +2 -1
- package/declarations/model/IJsonModel.d.ts +10 -0
- package/declarations/model/Model.d.ts +1 -0
- package/declarations/model/TabNode.d.ts +1 -0
- package/declarations/model/TabSetNode.d.ts +1 -0
- package/declarations/view/Layout.d.ts +20 -6
- package/dist/flexlayout.js +20 -20
- package/dist/flexlayout_min.js +1 -1
- package/lib/DockLocation.js +25 -11
- package/lib/DockLocation.js.map +1 -1
- package/lib/DragDrop.js +19 -3
- package/lib/DragDrop.js.map +1 -1
- package/lib/I18nLabel.js +1 -0
- package/lib/I18nLabel.js.map +1 -1
- package/lib/PopupMenu.js +14 -9
- package/lib/PopupMenu.js.map +1 -1
- package/lib/Rect.js +3 -0
- package/lib/Rect.js.map +1 -1
- package/lib/Types.js +8 -0
- package/lib/Types.js.map +1 -1
- package/lib/model/Actions.js +20 -11
- package/lib/model/Actions.js.map +1 -1
- package/lib/model/BorderNode.js +61 -14
- package/lib/model/BorderNode.js.map +1 -1
- package/lib/model/BorderSet.js +33 -19
- package/lib/model/BorderSet.js.map +1 -1
- package/lib/model/Model.js +39 -1
- package/lib/model/Model.js.map +1 -1
- package/lib/model/RowNode.js +19 -5
- package/lib/model/RowNode.js.map +1 -1
- package/lib/model/TabNode.js +14 -0
- package/lib/model/TabNode.js.map +1 -1
- package/lib/model/TabSetNode.js +42 -19
- package/lib/model/TabSetNode.js.map +1 -1
- package/lib/view/BorderButton.js +14 -3
- package/lib/view/BorderButton.js.map +1 -1
- package/lib/view/BorderTabSet.js +15 -4
- package/lib/view/BorderTabSet.js.map +1 -1
- package/lib/view/Layout.js +206 -45
- package/lib/view/Layout.js.map +1 -1
- package/lib/view/Splitter.js +34 -3
- package/lib/view/Splitter.js.map +1 -1
- package/lib/view/TabButton.js +11 -2
- package/lib/view/TabButton.js.map +1 -1
- package/lib/view/TabFloating.js +23 -11
- package/lib/view/TabFloating.js.map +1 -1
- package/lib/view/TabSet.js +50 -17
- package/lib/view/TabSet.js.map +1 -1
- package/package.json +1 -1
- package/src/DockLocation.ts +30 -9
- package/src/DragDrop.ts +26 -3
- package/src/I18nLabel.ts +1 -0
- package/src/PopupMenu.tsx +28 -10
- package/src/Rect.ts +6 -2
- package/src/Types.ts +9 -0
- package/src/model/Actions.ts +21 -11
- package/src/model/BorderNode.ts +57 -15
- package/src/model/BorderSet.ts +32 -19
- package/src/model/IJsonModel.ts +10 -0
- package/src/model/Model.ts +43 -1
- package/src/model/RowNode.ts +8 -5
- package/src/model/TabNode.ts +16 -0
- package/src/model/TabSetNode.ts +43 -19
- package/src/view/BorderButton.tsx +22 -3
- package/src/view/BorderTabSet.tsx +21 -4
- package/src/view/Layout.tsx +263 -70
- package/src/view/Splitter.tsx +49 -3
- package/src/view/TabButton.tsx +17 -1
- package/src/view/TabFloating.tsx +36 -19
- package/src/view/TabSet.tsx +76 -16
- package/style/_base.scss +75 -44
- package/style/dark.css +90 -61
- package/style/dark.css.map +1 -1
- package/style/dark.scss +20 -20
- package/style/gray.css +90 -61
- package/style/gray.css.map +1 -1
- package/style/gray.scss +20 -20
- package/style/light.css +90 -61
- package/style/light.css.map +1 -1
- package/style/light.scss +18 -18
- package/yarn-error.log +0 -11828
|
@@ -9,6 +9,10 @@ import TabNode from "../model/TabNode";
|
|
|
9
9
|
import TabSetNode from "../model/TabSetNode";
|
|
10
10
|
import Rect from "../Rect";
|
|
11
11
|
import { IJsonTabNode } from "../model/IJsonModel";
|
|
12
|
+
export declare type CustomDragCallback = (dragging: TabNode | IJsonTabNode, over: TabNode, x: number, y: number, location: DockLocation) => void;
|
|
13
|
+
export declare type DragRectRenderCallback = (text: String, node?: Node, json?: IJsonTabNode) => React.ReactElement | undefined;
|
|
14
|
+
export declare type FloatingTabPlaceholderRenderCallback = (dockPopout: () => void, showPopout: () => void) => React.ReactElement | undefined;
|
|
15
|
+
export declare type NodeMouseEvent = (node: TabNode | TabSetNode | BorderNode, event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
|
|
12
16
|
export interface ILayoutProps {
|
|
13
17
|
model: Model;
|
|
14
18
|
factory: (node: TabNode) => React.ReactNode;
|
|
@@ -32,13 +36,19 @@ export interface ILayoutProps {
|
|
|
32
36
|
supportsPopout?: boolean | undefined;
|
|
33
37
|
popoutURL?: string | undefined;
|
|
34
38
|
realtimeResize?: boolean | undefined;
|
|
35
|
-
onTabDrag?: (dragging: TabNode | IJsonTabNode, over: TabNode, x: number, y: number, location: DockLocation) => undefined | {
|
|
39
|
+
onTabDrag?: (dragging: TabNode | IJsonTabNode, over: TabNode, x: number, y: number, location: DockLocation, refresh: () => void) => undefined | {
|
|
36
40
|
x: number;
|
|
37
41
|
y: number;
|
|
38
42
|
width: number;
|
|
39
43
|
height: number;
|
|
40
|
-
callback:
|
|
44
|
+
callback: CustomDragCallback;
|
|
45
|
+
invalidated?: () => void;
|
|
46
|
+
cursor?: string | undefined;
|
|
41
47
|
};
|
|
48
|
+
onRenderDragRect?: DragRectRenderCallback;
|
|
49
|
+
onRenderFloatingTabPlaceholder?: FloatingTabPlaceholderRenderCallback;
|
|
50
|
+
onContextMenu?: NodeMouseEvent;
|
|
51
|
+
onAuxMouseClick?: NodeMouseEvent;
|
|
42
52
|
}
|
|
43
53
|
export interface IFontValues {
|
|
44
54
|
size?: string;
|
|
@@ -68,9 +78,11 @@ export interface ILayoutState {
|
|
|
68
78
|
calculatedTabBarSize: number;
|
|
69
79
|
calculatedBorderBarSize: number;
|
|
70
80
|
editingTab?: TabNode;
|
|
81
|
+
showHiddenBorder: DockLocation;
|
|
71
82
|
}
|
|
72
83
|
export interface IIcons {
|
|
73
84
|
close?: React.ReactNode;
|
|
85
|
+
closeTabset?: React.ReactNode;
|
|
74
86
|
popout?: React.ReactNode;
|
|
75
87
|
maximize?: React.ReactNode;
|
|
76
88
|
restore?: React.ReactNode;
|
|
@@ -78,12 +90,14 @@ export interface IIcons {
|
|
|
78
90
|
}
|
|
79
91
|
export interface ICustomDropDestination {
|
|
80
92
|
rect: Rect;
|
|
81
|
-
callback:
|
|
93
|
+
callback: CustomDragCallback;
|
|
94
|
+
invalidated: (() => void) | undefined;
|
|
82
95
|
dragging: TabNode | IJsonTabNode;
|
|
83
96
|
over: TabNode;
|
|
84
97
|
x: number;
|
|
85
98
|
y: number;
|
|
86
99
|
location: DockLocation;
|
|
100
|
+
cursor: string | undefined;
|
|
87
101
|
}
|
|
88
102
|
/**
|
|
89
103
|
* A React component that hosts a multi-tabbed layout
|
|
@@ -105,7 +119,7 @@ export declare class Layout extends React.Component<ILayoutProps, ILayoutState>
|
|
|
105
119
|
* Adds a new tab by dragging a labeled panel to the drop location, dragging starts immediatelly
|
|
106
120
|
* @param dragText the text to show on the drag panel
|
|
107
121
|
* @param json the json for the new tab node
|
|
108
|
-
* @param onDrop a callback to call when the drag is complete
|
|
122
|
+
* @param onDrop a callback to call when the drag is complete (node and event will be undefined if the drag was cancelled)
|
|
109
123
|
*/
|
|
110
124
|
addTabWithDragAndDrop(dragText: string, json: IJsonTabNode, onDrop?: (node?: Node, event?: Event) => void): void;
|
|
111
125
|
/**
|
|
@@ -114,8 +128,8 @@ export declare class Layout extends React.Component<ILayoutProps, ILayoutState>
|
|
|
114
128
|
*
|
|
115
129
|
* @param dragText the text to show on the drag panel
|
|
116
130
|
* @param json the json for the new tab node
|
|
117
|
-
* @param onDrop a callback to call when the drag is complete
|
|
131
|
+
* @param onDrop a callback to call when the drag is complete (node and event will be undefined if the drag was cancelled)
|
|
118
132
|
*/
|
|
119
|
-
addTabWithDragAndDropIndirect(dragText: string, json: IJsonTabNode, onDrop?: () => void): void;
|
|
133
|
+
addTabWithDragAndDropIndirect(dragText: string, json: IJsonTabNode, onDrop?: (node?: Node, event?: Event) => void): void;
|
|
120
134
|
}
|
|
121
135
|
export default Layout;
|