You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Simple splitviews, nested splitviews (i.e. gridviews) supporting full layout managment with
23
-
dockable and tabular views
24
-
- Extensive API support at the component level and view level
25
-
- Themable and customizable
26
-
- Serialization / deserialization support
27
-
- Tabular docking and Drag and Drop support
28
-
- Floating groups, customized header bars and tab
29
-
- Documentation and examples
30
-
31
-
Want to inspect the latest deployment? Go to https://unpkg.com/browse/dockview-core@latest/
25
+
- Serialization / deserialization with full layout management
26
+
- Support for split-views, grid-views and 'dockable' views
27
+
- Themeable and customizable
28
+
- Tab and Group docking / Drag n' Drop
29
+
- Popout Windows
30
+
- Floating Groups
31
+
- Extensive API
32
+
- Supports Shadow DOMs
33
+
- High test coverage
34
+
- Documentation website with live examples
35
+
- Transparent builds and Code Analysis
36
+
- Security at mind - verifed publishing and builds through GitHub Actions
37
+
38
+
Want to verify our builds? Go [here](https://www.npmjs.com/package/dockview#Provenance).
32
39
33
40
## Quick start
34
41
35
-
You can install dockview-core from [npm](https://www.npmjs.com/package/dockview-core).
42
+
Dockview has a peer dependency on `react >= 16.8.0` and `react-dom >= 16.8.0`. You can install dockview from [npm](https://www.npmjs.com/package/dockview-core).
@@ -900,16 +933,17 @@ iFrames required special attention because of a particular behaviour in how iFra
900
933
901
934
You can find many examples of discussions on this. Two reputable forums for example are linked [here](https://bugzilla.mozilla.org/show_bug.cgi?id=254144) and [here](https://github.com/whatwg/html/issues/5484).
902
935
903
-
The problem with iFrames and `dockview` is that when you hide or move a panel that panels DOM element may be moved within the DOM or removed from the DOM completely.
904
-
If your panel contains an iFrame then that iFrame will reload after being re-positioned within the DOM tree and all state in that iFrame will most likely be lost.
905
-
906
-
`dockview` does not provide a built-in solution to this because it's too specific of a problem to include in the library.
907
-
However the below example does show an implementation of a higher-order component `HoistedDockviewPanel`that you could use to work around this problems and make iFrames behave in `dockview`.
936
+
To ensure iFrames work as expected you should render them in panels with `renderer: 'always'` to ensure they are never removed from the DOM, alternatively set the defaultRenderer to `always`.
908
937
909
-
What the higher-order component is doing is to hoist the panels contents into a DOM element that is always present and then `position: absolute` that element to match the dimensions of it's linked panel.
910
-
The visibility of these hoisted elements is then controlled through some exposed api methods to hide elements that shouldn't be currently shown.
938
+
> See the **Panel Rendering** section for more information of render modes.
911
939
912
-
You should open this example in CodeSandbox using the provided link to understand the code and make use of this implemention if required.
940
+
```tsx title="Example of a panel using an alternative renderer"
0 commit comments