dockview 1.5.0 → 1.5.2
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/LICENSE +21 -21
- package/README.md +52 -52
- package/dist/cjs/actionbar/actionsContainer.d.ts +7 -7
- package/dist/cjs/actionbar/actionsContainer.js +26 -26
- package/dist/cjs/api/component.api.d.ts +144 -144
- package/dist/cjs/api/component.api.js +571 -571
- package/dist/cjs/api/gridviewPanelApi.d.ts +36 -36
- package/dist/cjs/api/gridviewPanelApi.js +47 -47
- package/dist/cjs/api/groupPanelApi.d.ts +34 -41
- package/dist/cjs/api/groupPanelApi.js +85 -96
- package/dist/cjs/api/groupPanelApi.js.map +1 -1
- package/dist/cjs/api/panelApi.d.ts +81 -81
- package/dist/cjs/api/panelApi.js +121 -121
- package/dist/cjs/api/paneviewPanelApi.d.ts +26 -26
- package/dist/cjs/api/paneviewPanelApi.js +57 -57
- package/dist/cjs/api/splitviewPanelApi.d.ts +32 -32
- package/dist/cjs/api/splitviewPanelApi.js +47 -47
- package/dist/cjs/array.d.ts +13 -13
- package/dist/cjs/array.js +77 -77
- package/dist/cjs/dnd/abstractDragHandler.d.ts +11 -11
- package/dist/cjs/dnd/abstractDragHandler.js +115 -115
- package/dist/cjs/dnd/dataTransfer.d.ts +31 -31
- package/dist/cjs/dnd/dataTransfer.js +100 -100
- package/dist/cjs/dnd/dnd.d.ts +27 -27
- package/dist/cjs/dnd/dnd.js +64 -64
- package/dist/cjs/dnd/droptarget.d.ts +37 -37
- package/dist/cjs/dnd/droptarget.js +201 -201
- package/dist/cjs/dockview/components/tab/defaultTab.d.ts +27 -27
- package/dist/cjs/dockview/components/tab/defaultTab.js +121 -126
- package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -1
- package/dist/cjs/dockview/components/watermark/watermark.d.ts +20 -20
- package/dist/cjs/dockview/components/watermark/watermark.js +101 -101
- package/dist/cjs/dockview/defaultGroupPanelView.d.ts +29 -29
- package/dist/cjs/dockview/defaultGroupPanelView.js +68 -68
- package/dist/cjs/dockview/deserializer.d.ts +5 -5
- package/dist/cjs/dockview/deserializer.js +2 -2
- package/dist/cjs/dockview/dockviewComponent.d.ts +125 -130
- package/dist/cjs/dockview/dockviewComponent.js +614 -629
- package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
- package/dist/cjs/dockview/dockviewGroupPanel.d.ts +31 -33
- package/dist/cjs/dockview/dockviewGroupPanel.js +156 -175
- package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -1
- package/dist/cjs/dockview/options.d.ts +88 -89
- package/dist/cjs/dockview/options.js +2 -2
- package/dist/cjs/dom.d.ts +14 -14
- package/dist/cjs/dom.js +182 -182
- package/dist/cjs/events.d.ts +30 -30
- package/dist/cjs/events.js +129 -129
- package/dist/cjs/gridview/baseComponentGridview.d.ts +87 -87
- package/dist/cjs/gridview/baseComponentGridview.js +279 -279
- package/dist/cjs/gridview/basePanelView.d.ts +43 -43
- package/dist/cjs/gridview/basePanelView.js +123 -123
- package/dist/cjs/gridview/branchNode.d.ts +49 -46
- package/dist/cjs/gridview/branchNode.js +342 -342
- package/dist/cjs/gridview/branchNode.js.map +1 -1
- package/dist/cjs/gridview/gridview.d.ts +126 -123
- package/dist/cjs/gridview/gridview.js +479 -479
- package/dist/cjs/gridview/gridview.js.map +1 -1
- package/dist/cjs/gridview/gridviewComponent.d.ts +85 -85
- package/dist/cjs/gridview/gridviewComponent.js +325 -325
- package/dist/cjs/gridview/gridviewPanel.d.ts +60 -60
- package/dist/cjs/gridview/gridviewPanel.js +202 -202
- package/dist/cjs/gridview/leafNode.d.ts +34 -31
- package/dist/cjs/gridview/leafNode.js +170 -165
- package/dist/cjs/gridview/leafNode.js.map +1 -1
- package/dist/cjs/gridview/options.d.ts +18 -18
- package/dist/cjs/gridview/options.js +2 -2
- package/dist/cjs/gridview/types.d.ts +3 -3
- package/dist/cjs/gridview/types.js +2 -2
- package/dist/cjs/groupview/dnd.d.ts +5 -5
- package/dist/cjs/groupview/dnd.js +9 -9
- package/dist/cjs/groupview/groupPanel.d.ts +32 -35
- package/dist/cjs/groupview/groupPanel.js +2 -2
- package/dist/cjs/groupview/groupview.d.ts +177 -177
- package/dist/cjs/groupview/groupview.js +589 -589
- package/dist/cjs/groupview/groupviewPanel.d.ts +35 -35
- package/dist/cjs/groupview/groupviewPanel.js +128 -128
- package/dist/cjs/groupview/panel/content.d.ts +30 -30
- package/dist/cjs/groupview/panel/content.js +100 -100
- package/dist/cjs/groupview/tab.d.ts +41 -42
- package/dist/cjs/groupview/tab.js +120 -126
- package/dist/cjs/groupview/tab.js.map +1 -1
- package/dist/cjs/groupview/titlebar/tabsContainer.d.ts +68 -68
- package/dist/cjs/groupview/titlebar/tabsContainer.js +258 -270
- package/dist/cjs/groupview/titlebar/tabsContainer.js.map +1 -1
- package/dist/cjs/groupview/types.d.ts +52 -53
- package/dist/cjs/groupview/types.js +2 -2
- package/dist/cjs/hostedContainer.d.ts +23 -23
- package/dist/cjs/hostedContainer.js +73 -73
- package/dist/cjs/index.d.ts +30 -30
- package/dist/cjs/index.js +46 -46
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lifecycle.d.ts +22 -22
- package/dist/cjs/lifecycle.js +88 -88
- package/dist/cjs/math.d.ts +4 -4
- package/dist/cjs/math.js +15 -15
- package/dist/cjs/panel/componentFactory.d.ts +8 -8
- package/dist/cjs/panel/componentFactory.js +30 -30
- package/dist/cjs/panel/types.d.ts +33 -33
- package/dist/cjs/panel/types.js +2 -2
- package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +21 -21
- package/dist/cjs/paneview/defaultPaneviewHeader.js +90 -90
- package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +19 -19
- package/dist/cjs/paneview/draggablePaneviewPanel.js +129 -129
- package/dist/cjs/paneview/options.d.ts +27 -27
- package/dist/cjs/paneview/options.js +2 -2
- package/dist/cjs/paneview/paneview.d.ts +40 -40
- package/dist/cjs/paneview/paneview.js +201 -201
- package/dist/cjs/paneview/paneviewComponent.d.ts +129 -129
- package/dist/cjs/paneview/paneviewComponent.js +394 -394
- package/dist/cjs/paneview/paneviewPanel.d.ts +92 -89
- package/dist/cjs/paneview/paneviewPanel.js +274 -274
- package/dist/cjs/paneview/paneviewPanel.js.map +1 -1
- package/dist/cjs/react/deserializer.d.ts +9 -9
- package/dist/cjs/react/deserializer.js +43 -45
- package/dist/cjs/react/deserializer.js.map +1 -1
- package/dist/cjs/react/dockview/defaultTab.d.ts +4 -4
- package/dist/cjs/react/dockview/defaultTab.js +72 -72
- package/dist/cjs/react/dockview/defaultTab.js.map +1 -1
- package/dist/cjs/react/dockview/dockview.d.ts +34 -35
- package/dist/cjs/react/dockview/dockview.js +212 -227
- package/dist/cjs/react/dockview/dockview.js.map +1 -1
- package/dist/cjs/react/dockview/groupControlsRenderer.d.ts +43 -43
- package/dist/cjs/react/dockview/groupControlsRenderer.js +86 -86
- package/dist/cjs/react/dockview/reactContentPart.d.ts +30 -30
- package/dist/cjs/react/dockview/reactContentPart.js +58 -58
- package/dist/cjs/react/dockview/reactHeaderPart.d.ts +26 -26
- package/dist/cjs/react/dockview/reactHeaderPart.js +55 -55
- package/dist/cjs/react/dockview/reactWatermarkPart.d.ts +29 -29
- package/dist/cjs/react/dockview/reactWatermarkPart.js +65 -65
- package/dist/cjs/react/dockview/v2/reactContentRenderer.d.ts +29 -29
- package/dist/cjs/react/dockview/v2/reactContentRenderer.js +87 -87
- package/dist/cjs/react/dockview/v2/reactGroupPanelView.d.ts +7 -7
- package/dist/cjs/react/dockview/v2/reactGroupPanelView.js +34 -34
- package/dist/cjs/react/dockview/v2/webviewContentRenderer.d.ts +18 -18
- package/dist/cjs/react/dockview/v2/webviewContentRenderer.js +45 -45
- package/dist/cjs/react/gridview/gridview.d.ts +24 -24
- package/dist/cjs/react/gridview/gridview.js +112 -112
- package/dist/cjs/react/gridview/view.d.ts +11 -11
- package/dist/cjs/react/gridview/view.js +40 -40
- package/dist/cjs/react/index.d.ts +9 -9
- package/dist/cjs/react/index.js +23 -23
- package/dist/cjs/react/paneview/paneview.d.ts +30 -30
- package/dist/cjs/react/paneview/paneview.js +155 -155
- package/dist/cjs/react/paneview/view.d.ts +20 -20
- package/dist/cjs/react/paneview/view.js +44 -44
- package/dist/cjs/react/react.d.ts +36 -36
- package/dist/cjs/react/react.js +194 -194
- package/dist/cjs/react/splitview/splitview.d.ts +24 -24
- package/dist/cjs/react/splitview/splitview.js +108 -108
- package/dist/cjs/react/splitview/view.d.ts +10 -10
- package/dist/cjs/react/splitview/view.js +40 -40
- package/dist/cjs/react/svg.d.ts +3 -3
- package/dist/cjs/react/svg.js +35 -35
- package/dist/cjs/react/types.d.ts +7 -7
- package/dist/cjs/react/types.js +2 -2
- package/dist/cjs/splitview/core/options.d.ts +26 -26
- package/dist/cjs/splitview/core/options.js +2 -2
- package/dist/cjs/splitview/core/splitview.d.ts +127 -124
- package/dist/cjs/splitview/core/splitview.js +908 -908
- package/dist/cjs/splitview/core/splitview.js.map +1 -1
- package/dist/cjs/splitview/core/viewItem.d.ts +25 -25
- package/dist/cjs/splitview/core/viewItem.js +124 -124
- package/dist/cjs/splitview/splitviewComponent.d.ts +101 -101
- package/dist/cjs/splitview/splitviewComponent.js +373 -373
- package/dist/cjs/splitview/splitviewPanel.d.ts +45 -42
- package/dist/cjs/splitview/splitviewPanel.js +178 -178
- package/dist/cjs/splitview/splitviewPanel.js.map +1 -1
- package/dist/cjs/svg.d.ts +3 -3
- package/dist/cjs/svg.js +43 -43
- package/dist/cjs/types.d.ts +7 -7
- package/dist/cjs/types.js +2 -2
- package/dist/dockview.amd.js +6737 -6797
- package/dist/dockview.amd.min.js +2 -2
- package/dist/dockview.amd.min.noStyle.js +2 -2
- package/dist/dockview.amd.noStyle.js +6743 -6803
- package/dist/dockview.cjs.js +6737 -6797
- package/dist/dockview.esm.js +6731 -6791
- package/dist/dockview.esm.min.js +2 -2
- package/dist/dockview.js +6737 -6797
- package/dist/dockview.min.js +2 -2
- package/dist/dockview.min.noStyle.js +2 -2
- package/dist/dockview.noStyle.js +6743 -6803
- package/dist/esm/actionbar/actionsContainer.d.ts +7 -7
- package/dist/esm/actionbar/actionsContainer.js +17 -17
- package/dist/esm/api/component.api.d.ts +144 -144
- package/dist/esm/api/component.api.js +326 -326
- package/dist/esm/api/gridviewPanelApi.d.ts +36 -36
- package/dist/esm/api/gridviewPanelApi.js +25 -25
- package/dist/esm/api/groupPanelApi.d.ts +34 -41
- package/dist/esm/api/groupPanelApi.js +50 -57
- package/dist/esm/api/panelApi.d.ts +81 -81
- package/dist/esm/api/panelApi.js +79 -79
- package/dist/esm/api/paneviewPanelApi.d.ts +26 -26
- package/dist/esm/api/paneviewPanelApi.js +27 -27
- package/dist/esm/api/splitviewPanelApi.d.ts +32 -32
- package/dist/esm/api/splitviewPanelApi.js +25 -25
- package/dist/esm/array.d.ts +13 -13
- package/dist/esm/array.js +67 -67
- package/dist/esm/dnd/abstractDragHandler.d.ts +11 -11
- package/dist/esm/dnd/abstractDragHandler.js +37 -37
- package/dist/esm/dnd/dataTransfer.d.ts +31 -31
- package/dist/esm/dnd/dataTransfer.js +69 -69
- package/dist/esm/dnd/dnd.d.ts +27 -27
- package/dist/esm/dnd/dnd.js +41 -41
- package/dist/esm/dnd/droptarget.d.ts +37 -37
- package/dist/esm/dnd/droptarget.js +167 -167
- package/dist/esm/dockview/components/tab/defaultTab.d.ts +27 -27
- package/dist/esm/dockview/components/tab/defaultTab.js +79 -84
- package/dist/esm/dockview/components/watermark/watermark.d.ts +20 -20
- package/dist/esm/dockview/components/watermark/watermark.js +70 -70
- package/dist/esm/dockview/defaultGroupPanelView.d.ts +29 -29
- package/dist/esm/dockview/defaultGroupPanelView.js +44 -44
- package/dist/esm/dockview/deserializer.d.ts +5 -5
- package/dist/esm/dockview/deserializer.js +1 -1
- package/dist/esm/dockview/dockviewComponent.d.ts +125 -130
- package/dist/esm/dockview/dockviewComponent.js +468 -483
- package/dist/esm/dockview/dockviewGroupPanel.d.ts +31 -33
- package/dist/esm/dockview/dockviewGroupPanel.js +107 -122
- package/dist/esm/dockview/options.d.ts +88 -89
- package/dist/esm/dockview/options.js +1 -1
- package/dist/esm/dom.d.ts +14 -14
- package/dist/esm/dom.js +113 -113
- package/dist/esm/events.d.ts +30 -30
- package/dist/esm/events.js +88 -88
- package/dist/esm/gridview/baseComponentGridview.d.ts +87 -87
- package/dist/esm/gridview/baseComponentGridview.js +189 -189
- package/dist/esm/gridview/basePanelView.d.ts +43 -43
- package/dist/esm/gridview/basePanelView.js +74 -74
- package/dist/esm/gridview/branchNode.d.ts +49 -46
- package/dist/esm/gridview/branchNode.js +218 -218
- package/dist/esm/gridview/gridview.d.ts +126 -123
- package/dist/esm/gridview/gridview.js +397 -397
- package/dist/esm/gridview/gridviewComponent.d.ts +85 -85
- package/dist/esm/gridview/gridviewComponent.js +238 -238
- package/dist/esm/gridview/gridviewPanel.d.ts +60 -60
- package/dist/esm/gridview/gridviewPanel.js +138 -138
- package/dist/esm/gridview/leafNode.d.ts +34 -31
- package/dist/esm/gridview/leafNode.js +103 -98
- package/dist/esm/gridview/options.d.ts +18 -18
- package/dist/esm/gridview/options.js +1 -1
- package/dist/esm/gridview/types.d.ts +3 -3
- package/dist/esm/gridview/types.js +1 -1
- package/dist/esm/groupview/dnd.d.ts +5 -5
- package/dist/esm/groupview/dnd.js +6 -6
- package/dist/esm/groupview/groupPanel.d.ts +32 -35
- package/dist/esm/groupview/groupPanel.js +1 -1
- package/dist/esm/groupview/groupview.d.ts +177 -177
- package/dist/esm/groupview/groupview.js +444 -444
- package/dist/esm/groupview/groupviewPanel.d.ts +35 -35
- package/dist/esm/groupview/groupviewPanel.js +61 -61
- package/dist/esm/groupview/panel/content.d.ts +30 -30
- package/dist/esm/groupview/panel/content.js +73 -73
- package/dist/esm/groupview/tab.d.ts +41 -42
- package/dist/esm/groupview/tab.js +90 -96
- package/dist/esm/groupview/titlebar/tabsContainer.d.ts +68 -68
- package/dist/esm/groupview/titlebar/tabsContainer.js +190 -191
- package/dist/esm/groupview/types.d.ts +52 -53
- package/dist/esm/groupview/types.js +1 -1
- package/dist/esm/hostedContainer.d.ts +23 -23
- package/dist/esm/hostedContainer.js +63 -63
- package/dist/esm/index.d.ts +30 -30
- package/dist/esm/index.js +23 -23
- package/dist/esm/lifecycle.d.ts +22 -22
- package/dist/esm/lifecycle.js +39 -39
- package/dist/esm/math.d.ts +4 -4
- package/dist/esm/math.js +10 -10
- package/dist/esm/panel/componentFactory.d.ts +8 -8
- package/dist/esm/panel/componentFactory.js +24 -24
- package/dist/esm/panel/types.d.ts +33 -33
- package/dist/esm/panel/types.js +1 -1
- package/dist/esm/paneview/defaultPaneviewHeader.d.ts +21 -21
- package/dist/esm/paneview/defaultPaneviewHeader.js +63 -63
- package/dist/esm/paneview/draggablePaneviewPanel.d.ts +19 -19
- package/dist/esm/paneview/draggablePaneviewPanel.js +90 -90
- package/dist/esm/paneview/options.d.ts +27 -27
- package/dist/esm/paneview/options.js +1 -1
- package/dist/esm/paneview/paneview.d.ts +40 -40
- package/dist/esm/paneview/paneview.js +145 -145
- package/dist/esm/paneview/paneviewComponent.d.ts +129 -129
- package/dist/esm/paneview/paneviewComponent.js +270 -270
- package/dist/esm/paneview/paneviewPanel.d.ts +92 -89
- package/dist/esm/paneview/paneviewPanel.js +191 -191
- package/dist/esm/react/deserializer.d.ts +9 -9
- package/dist/esm/react/deserializer.js +38 -40
- package/dist/esm/react/dockview/defaultTab.d.ts +4 -4
- package/dist/esm/react/dockview/defaultTab.js +34 -34
- package/dist/esm/react/dockview/dockview.d.ts +34 -35
- package/dist/esm/react/dockview/dockview.js +157 -172
- package/dist/esm/react/dockview/groupControlsRenderer.d.ts +43 -43
- package/dist/esm/react/dockview/groupControlsRenderer.js +68 -68
- package/dist/esm/react/dockview/reactContentPart.d.ts +30 -30
- package/dist/esm/react/dockview/reactContentPart.js +49 -49
- package/dist/esm/react/dockview/reactHeaderPart.d.ts +26 -26
- package/dist/esm/react/dockview/reactHeaderPart.js +46 -46
- package/dist/esm/react/dockview/reactWatermarkPart.d.ts +29 -29
- package/dist/esm/react/dockview/reactWatermarkPart.js +55 -55
- package/dist/esm/react/dockview/v2/reactContentRenderer.d.ts +29 -29
- package/dist/esm/react/dockview/v2/reactContentRenderer.js +69 -69
- package/dist/esm/react/dockview/v2/reactGroupPanelView.d.ts +7 -7
- package/dist/esm/react/dockview/v2/reactGroupPanelView.js +12 -12
- package/dist/esm/react/dockview/v2/webviewContentRenderer.d.ts +18 -18
- package/dist/esm/react/dockview/v2/webviewContentRenderer.js +36 -36
- package/dist/esm/react/gridview/gridview.d.ts +24 -24
- package/dist/esm/react/gridview/gridview.js +70 -70
- package/dist/esm/react/gridview/view.d.ts +11 -11
- package/dist/esm/react/gridview/view.js +18 -18
- package/dist/esm/react/index.d.ts +9 -9
- package/dist/esm/react/index.js +7 -7
- package/dist/esm/react/paneview/paneview.d.ts +30 -30
- package/dist/esm/react/paneview/paneview.js +100 -100
- package/dist/esm/react/paneview/view.d.ts +20 -20
- package/dist/esm/react/paneview/view.js +35 -35
- package/dist/esm/react/react.d.ts +36 -36
- package/dist/esm/react/react.js +125 -125
- package/dist/esm/react/splitview/splitview.d.ts +24 -24
- package/dist/esm/react/splitview/splitview.js +66 -66
- package/dist/esm/react/splitview/view.d.ts +10 -10
- package/dist/esm/react/splitview/view.js +18 -18
- package/dist/esm/react/svg.d.ts +3 -3
- package/dist/esm/react/svg.js +7 -7
- package/dist/esm/react/types.d.ts +7 -7
- package/dist/esm/react/types.js +1 -1
- package/dist/esm/splitview/core/options.d.ts +26 -26
- package/dist/esm/splitview/core/options.js +1 -1
- package/dist/esm/splitview/core/splitview.d.ts +127 -124
- package/dist/esm/splitview/core/splitview.js +689 -689
- package/dist/esm/splitview/core/viewItem.d.ts +25 -25
- package/dist/esm/splitview/core/viewItem.js +79 -79
- package/dist/esm/splitview/splitviewComponent.d.ts +101 -101
- package/dist/esm/splitview/splitviewComponent.js +249 -249
- package/dist/esm/splitview/splitviewPanel.d.ts +45 -42
- package/dist/esm/splitview/splitviewPanel.js +107 -107
- package/dist/esm/svg.d.ts +3 -3
- package/dist/esm/svg.js +31 -31
- package/dist/esm/types.d.ts +7 -7
- package/dist/esm/types.js +1 -1
- package/dist/styles/dockview.css +0 -3
- package/package.json +2 -2
|
@@ -1,89 +1,88 @@
|
|
|
1
|
-
import { DockviewApi } from '../api/component.api';
|
|
2
|
-
import { Direction } from '../gridview/baseComponentGridview';
|
|
3
|
-
import { IGridView } from '../gridview/gridview';
|
|
4
|
-
import { IDockviewPanel } from '../groupview/groupPanel';
|
|
5
|
-
import { IContentRenderer, ITabRenderer, WatermarkConstructor, IWatermarkRenderer } from '../groupview/types';
|
|
6
|
-
import { GroupPanel } from '../groupview/groupviewPanel';
|
|
7
|
-
import { ISplitviewStyles, Orientation } from '../splitview/core/splitview';
|
|
8
|
-
import { FrameworkFactory } from '../types';
|
|
9
|
-
import { DockviewDropTargets } from '../groupview/dnd';
|
|
10
|
-
import { PanelTransfer } from '../dnd/dataTransfer';
|
|
11
|
-
import { IGroupControlRenderer } from '../react/dockview/groupControlsRenderer';
|
|
12
|
-
export interface GroupPanelFrameworkComponentFactory {
|
|
13
|
-
content: FrameworkFactory<IContentRenderer>;
|
|
14
|
-
tab: FrameworkFactory<ITabRenderer>;
|
|
15
|
-
watermark: FrameworkFactory<IWatermarkRenderer>;
|
|
16
|
-
}
|
|
17
|
-
export interface TabContextMenuEvent {
|
|
18
|
-
event: MouseEvent;
|
|
19
|
-
api: DockviewApi;
|
|
20
|
-
panel: IDockviewPanel;
|
|
21
|
-
}
|
|
22
|
-
export interface DockviewRenderFunctions {
|
|
23
|
-
tabComponents?: {
|
|
24
|
-
[componentName: string]: {
|
|
25
|
-
new (id: string, component: string): ITabRenderer;
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
components?: {
|
|
29
|
-
[componentName: string]: {
|
|
30
|
-
new (id: string, component: string): IContentRenderer;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
frameworkTabComponents?: {
|
|
34
|
-
[componentName: string]: any;
|
|
35
|
-
};
|
|
36
|
-
frameworkComponents?: {
|
|
37
|
-
[componentName: string]: any;
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
export interface ViewFactoryData {
|
|
41
|
-
content: string;
|
|
42
|
-
tab?: string;
|
|
43
|
-
}
|
|
44
|
-
export interface DockviewDndOverlayEvent {
|
|
45
|
-
nativeEvent: DragEvent;
|
|
46
|
-
target: DockviewDropTargets;
|
|
47
|
-
group: GroupPanel;
|
|
48
|
-
getData: () => PanelTransfer | undefined;
|
|
49
|
-
}
|
|
50
|
-
export interface DockviewComponentOptions extends DockviewRenderFunctions {
|
|
51
|
-
watermarkComponent?: WatermarkConstructor;
|
|
52
|
-
watermarkFrameworkComponent?: any;
|
|
53
|
-
frameworkComponentFactory?: GroupPanelFrameworkComponentFactory;
|
|
54
|
-
tabHeight?: number;
|
|
55
|
-
orientation?: Orientation;
|
|
56
|
-
styles?: ISplitviewStyles;
|
|
57
|
-
defaultTabComponent?: string;
|
|
58
|
-
showDndOverlay?: (event: DockviewDndOverlayEvent) => boolean;
|
|
59
|
-
createGroupControlElement?: (group: GroupPanel) => IGroupControlRenderer;
|
|
60
|
-
}
|
|
61
|
-
export interface PanelOptions {
|
|
62
|
-
component: string;
|
|
63
|
-
tabComponent?: string;
|
|
64
|
-
params?: {
|
|
65
|
-
[key: string]: any;
|
|
66
|
-
};
|
|
67
|
-
id: string;
|
|
68
|
-
title?: string;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
1
|
+
import { DockviewApi } from '../api/component.api';
|
|
2
|
+
import { Direction } from '../gridview/baseComponentGridview';
|
|
3
|
+
import { IGridView } from '../gridview/gridview';
|
|
4
|
+
import { IDockviewPanel } from '../groupview/groupPanel';
|
|
5
|
+
import { IContentRenderer, ITabRenderer, WatermarkConstructor, IWatermarkRenderer } from '../groupview/types';
|
|
6
|
+
import { GroupPanel } from '../groupview/groupviewPanel';
|
|
7
|
+
import { ISplitviewStyles, Orientation } from '../splitview/core/splitview';
|
|
8
|
+
import { FrameworkFactory } from '../types';
|
|
9
|
+
import { DockviewDropTargets } from '../groupview/dnd';
|
|
10
|
+
import { PanelTransfer } from '../dnd/dataTransfer';
|
|
11
|
+
import { IGroupControlRenderer } from '../react/dockview/groupControlsRenderer';
|
|
12
|
+
export interface GroupPanelFrameworkComponentFactory {
|
|
13
|
+
content: FrameworkFactory<IContentRenderer>;
|
|
14
|
+
tab: FrameworkFactory<ITabRenderer>;
|
|
15
|
+
watermark: FrameworkFactory<IWatermarkRenderer>;
|
|
16
|
+
}
|
|
17
|
+
export interface TabContextMenuEvent {
|
|
18
|
+
event: MouseEvent;
|
|
19
|
+
api: DockviewApi;
|
|
20
|
+
panel: IDockviewPanel;
|
|
21
|
+
}
|
|
22
|
+
export interface DockviewRenderFunctions {
|
|
23
|
+
tabComponents?: {
|
|
24
|
+
[componentName: string]: {
|
|
25
|
+
new (id: string, component: string): ITabRenderer;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
components?: {
|
|
29
|
+
[componentName: string]: {
|
|
30
|
+
new (id: string, component: string): IContentRenderer;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
frameworkTabComponents?: {
|
|
34
|
+
[componentName: string]: any;
|
|
35
|
+
};
|
|
36
|
+
frameworkComponents?: {
|
|
37
|
+
[componentName: string]: any;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export interface ViewFactoryData {
|
|
41
|
+
content: string;
|
|
42
|
+
tab?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface DockviewDndOverlayEvent {
|
|
45
|
+
nativeEvent: DragEvent;
|
|
46
|
+
target: DockviewDropTargets;
|
|
47
|
+
group: GroupPanel;
|
|
48
|
+
getData: () => PanelTransfer | undefined;
|
|
49
|
+
}
|
|
50
|
+
export interface DockviewComponentOptions extends DockviewRenderFunctions {
|
|
51
|
+
watermarkComponent?: WatermarkConstructor;
|
|
52
|
+
watermarkFrameworkComponent?: any;
|
|
53
|
+
frameworkComponentFactory?: GroupPanelFrameworkComponentFactory;
|
|
54
|
+
tabHeight?: number;
|
|
55
|
+
orientation?: Orientation;
|
|
56
|
+
styles?: ISplitviewStyles;
|
|
57
|
+
defaultTabComponent?: string;
|
|
58
|
+
showDndOverlay?: (event: DockviewDndOverlayEvent) => boolean;
|
|
59
|
+
createGroupControlElement?: (group: GroupPanel) => IGroupControlRenderer;
|
|
60
|
+
}
|
|
61
|
+
export interface PanelOptions {
|
|
62
|
+
component: string;
|
|
63
|
+
tabComponent?: string;
|
|
64
|
+
params?: {
|
|
65
|
+
[key: string]: any;
|
|
66
|
+
};
|
|
67
|
+
id: string;
|
|
68
|
+
title?: string;
|
|
69
|
+
}
|
|
70
|
+
export interface AddPanelOptions extends Omit<PanelOptions, 'component' | 'tabComponent'> {
|
|
71
|
+
component: string;
|
|
72
|
+
tabComponent?: string;
|
|
73
|
+
position?: {
|
|
74
|
+
direction?: Direction;
|
|
75
|
+
referencePanel?: string;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export interface AddGroupOptions {
|
|
79
|
+
direction?: 'left' | 'right' | 'above' | 'below';
|
|
80
|
+
referencePanel: string;
|
|
81
|
+
}
|
|
82
|
+
export interface MovementOptions2 {
|
|
83
|
+
group?: IGridView;
|
|
84
|
+
}
|
|
85
|
+
export interface MovementOptions extends MovementOptions2 {
|
|
86
|
+
includePanel?: boolean;
|
|
87
|
+
group?: GroupPanel;
|
|
88
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=options.js.map
|
package/dist/cjs/dom.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Event } from './events';
|
|
2
|
-
import { IDisposable } from './lifecycle';
|
|
3
|
-
export declare function watchElementResize(element: HTMLElement, cb: (entry: ResizeObserverEntry) => void): IDisposable;
|
|
4
|
-
export declare const removeClasses: (element: HTMLElement, ...classes: string[]) => void;
|
|
5
|
-
export declare const addClasses: (element: HTMLElement, ...classes: string[]) => void;
|
|
6
|
-
export declare const toggleClass: (element: HTMLElement, className: string, isToggled: boolean) => void;
|
|
7
|
-
export declare function isAncestor(testChild: Node | null, testAncestor: Node | null): boolean;
|
|
8
|
-
export declare function getElementsByTagName(tag: string): HTMLElement[];
|
|
9
|
-
export interface IFocusTracker extends IDisposable {
|
|
10
|
-
onDidFocus: Event<void>;
|
|
11
|
-
onDidBlur: Event<void>;
|
|
12
|
-
refreshState?(): void;
|
|
13
|
-
}
|
|
14
|
-
export declare function trackFocus(element: HTMLElement | Window): IFocusTracker;
|
|
1
|
+
import { Event } from './events';
|
|
2
|
+
import { IDisposable } from './lifecycle';
|
|
3
|
+
export declare function watchElementResize(element: HTMLElement, cb: (entry: ResizeObserverEntry) => void): IDisposable;
|
|
4
|
+
export declare const removeClasses: (element: HTMLElement, ...classes: string[]) => void;
|
|
5
|
+
export declare const addClasses: (element: HTMLElement, ...classes: string[]) => void;
|
|
6
|
+
export declare const toggleClass: (element: HTMLElement, className: string, isToggled: boolean) => void;
|
|
7
|
+
export declare function isAncestor(testChild: Node | null, testAncestor: Node | null): boolean;
|
|
8
|
+
export declare function getElementsByTagName(tag: string): HTMLElement[];
|
|
9
|
+
export interface IFocusTracker extends IDisposable {
|
|
10
|
+
onDidFocus: Event<void>;
|
|
11
|
+
onDidBlur: Event<void>;
|
|
12
|
+
refreshState?(): void;
|
|
13
|
+
}
|
|
14
|
+
export declare function trackFocus(element: HTMLElement | Window): IFocusTracker;
|
package/dist/cjs/dom.js
CHANGED
|
@@ -1,183 +1,183 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __values = (this && this.__values) || function(o) {
|
|
18
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
19
|
-
if (m) return m.call(o);
|
|
20
|
-
if (o && typeof o.length === "number") return {
|
|
21
|
-
next: function () {
|
|
22
|
-
if (o && i >= o.length) o = void 0;
|
|
23
|
-
return { value: o && o[i++], done: !o };
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.trackFocus = exports.getElementsByTagName = exports.isAncestor = exports.toggleClass = exports.addClasses = exports.removeClasses = exports.watchElementResize = void 0;
|
|
30
|
-
var events_1 = require("./events");
|
|
31
|
-
var lifecycle_1 = require("./lifecycle");
|
|
32
|
-
function watchElementResize(element, cb) {
|
|
33
|
-
var observer = new ResizeObserver(function (entires) {
|
|
34
|
-
var firstEntry = entires[0];
|
|
35
|
-
cb(firstEntry);
|
|
36
|
-
});
|
|
37
|
-
observer.observe(element);
|
|
38
|
-
return {
|
|
39
|
-
dispose: function () {
|
|
40
|
-
observer.unobserve(element);
|
|
41
|
-
observer.disconnect();
|
|
42
|
-
},
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
exports.watchElementResize = watchElementResize;
|
|
46
|
-
var removeClasses = function (element) {
|
|
47
|
-
var e_1, _a;
|
|
48
|
-
var classes = [];
|
|
49
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
50
|
-
classes[_i - 1] = arguments[_i];
|
|
51
|
-
}
|
|
52
|
-
try {
|
|
53
|
-
for (var classes_1 = __values(classes), classes_1_1 = classes_1.next(); !classes_1_1.done; classes_1_1 = classes_1.next()) {
|
|
54
|
-
var classname = classes_1_1.value;
|
|
55
|
-
if (element.classList.contains(classname)) {
|
|
56
|
-
element.classList.remove(classname);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
61
|
-
finally {
|
|
62
|
-
try {
|
|
63
|
-
if (classes_1_1 && !classes_1_1.done && (_a = classes_1.return)) _a.call(classes_1);
|
|
64
|
-
}
|
|
65
|
-
finally { if (e_1) throw e_1.error; }
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
exports.removeClasses = removeClasses;
|
|
69
|
-
var addClasses = function (element) {
|
|
70
|
-
var e_2, _a;
|
|
71
|
-
var classes = [];
|
|
72
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
73
|
-
classes[_i - 1] = arguments[_i];
|
|
74
|
-
}
|
|
75
|
-
try {
|
|
76
|
-
for (var classes_2 = __values(classes), classes_2_1 = classes_2.next(); !classes_2_1.done; classes_2_1 = classes_2.next()) {
|
|
77
|
-
var classname = classes_2_1.value;
|
|
78
|
-
if (!element.classList.contains(classname)) {
|
|
79
|
-
element.classList.add(classname);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
84
|
-
finally {
|
|
85
|
-
try {
|
|
86
|
-
if (classes_2_1 && !classes_2_1.done && (_a = classes_2.return)) _a.call(classes_2);
|
|
87
|
-
}
|
|
88
|
-
finally { if (e_2) throw e_2.error; }
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
exports.addClasses = addClasses;
|
|
92
|
-
var toggleClass = function (element, className, isToggled) {
|
|
93
|
-
var hasClass = element.classList.contains(className);
|
|
94
|
-
if (isToggled && !hasClass) {
|
|
95
|
-
element.classList.add(className);
|
|
96
|
-
}
|
|
97
|
-
if (!isToggled && hasClass) {
|
|
98
|
-
element.classList.remove(className);
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
exports.toggleClass = toggleClass;
|
|
102
|
-
function isAncestor(testChild, testAncestor) {
|
|
103
|
-
while (testChild) {
|
|
104
|
-
if (testChild === testAncestor) {
|
|
105
|
-
return true;
|
|
106
|
-
}
|
|
107
|
-
testChild = testChild.parentNode;
|
|
108
|
-
}
|
|
109
|
-
return false;
|
|
110
|
-
}
|
|
111
|
-
exports.isAncestor = isAncestor;
|
|
112
|
-
function getElementsByTagName(tag) {
|
|
113
|
-
return Array.prototype.slice.call(document.getElementsByTagName(tag), 0);
|
|
114
|
-
}
|
|
115
|
-
exports.getElementsByTagName = getElementsByTagName;
|
|
116
|
-
function trackFocus(element) {
|
|
117
|
-
return new FocusTracker(element);
|
|
118
|
-
}
|
|
119
|
-
exports.trackFocus = trackFocus;
|
|
120
|
-
/**
|
|
121
|
-
* Track focus on an element. Ensure tabIndex is set when an HTMLElement is not focusable by default
|
|
122
|
-
*/
|
|
123
|
-
var FocusTracker = /** @class */ (function (_super) {
|
|
124
|
-
__extends(FocusTracker, _super);
|
|
125
|
-
function FocusTracker(element) {
|
|
126
|
-
var _this = _super.call(this) || this;
|
|
127
|
-
_this._onDidFocus = new events_1.Emitter();
|
|
128
|
-
_this.onDidFocus = _this._onDidFocus.event;
|
|
129
|
-
_this._onDidBlur = new events_1.Emitter();
|
|
130
|
-
_this.onDidBlur = _this._onDidBlur.event;
|
|
131
|
-
var hasFocus = isAncestor(document.activeElement, element);
|
|
132
|
-
var loosingFocus = false;
|
|
133
|
-
var onFocus = function () {
|
|
134
|
-
loosingFocus = false;
|
|
135
|
-
if (!hasFocus) {
|
|
136
|
-
hasFocus = true;
|
|
137
|
-
_this._onDidFocus.fire();
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
var onBlur = function () {
|
|
141
|
-
if (hasFocus) {
|
|
142
|
-
loosingFocus = true;
|
|
143
|
-
window.setTimeout(function () {
|
|
144
|
-
if (loosingFocus) {
|
|
145
|
-
loosingFocus = false;
|
|
146
|
-
hasFocus = false;
|
|
147
|
-
_this._onDidBlur.fire();
|
|
148
|
-
}
|
|
149
|
-
}, 0);
|
|
150
|
-
}
|
|
151
|
-
};
|
|
152
|
-
_this._refreshStateHandler = function () {
|
|
153
|
-
var currentNodeHasFocus = isAncestor(document.activeElement, element);
|
|
154
|
-
if (currentNodeHasFocus !== hasFocus) {
|
|
155
|
-
if (hasFocus) {
|
|
156
|
-
onBlur();
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
onFocus();
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
};
|
|
163
|
-
if (element instanceof HTMLElement) {
|
|
164
|
-
_this.addDisposables((0, events_1.addDisposableListener)(element, 'focus', onFocus, true));
|
|
165
|
-
_this.addDisposables((0, events_1.addDisposableListener)(element, 'blur', onBlur, true));
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
_this.addDisposables((0, events_1.addDisposableWindowListener)(element, 'focus', onFocus, true));
|
|
169
|
-
_this.addDisposables((0, events_1.addDisposableWindowListener)(element, 'blur', onBlur, true));
|
|
170
|
-
}
|
|
171
|
-
return _this;
|
|
172
|
-
}
|
|
173
|
-
FocusTracker.prototype.refreshState = function () {
|
|
174
|
-
this._refreshStateHandler();
|
|
175
|
-
};
|
|
176
|
-
FocusTracker.prototype.dispose = function () {
|
|
177
|
-
_super.prototype.dispose.call(this);
|
|
178
|
-
this._onDidBlur.dispose();
|
|
179
|
-
this._onDidFocus.dispose();
|
|
180
|
-
};
|
|
181
|
-
return FocusTracker;
|
|
182
|
-
}(lifecycle_1.CompositeDisposable));
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __values = (this && this.__values) || function(o) {
|
|
18
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
19
|
+
if (m) return m.call(o);
|
|
20
|
+
if (o && typeof o.length === "number") return {
|
|
21
|
+
next: function () {
|
|
22
|
+
if (o && i >= o.length) o = void 0;
|
|
23
|
+
return { value: o && o[i++], done: !o };
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.trackFocus = exports.getElementsByTagName = exports.isAncestor = exports.toggleClass = exports.addClasses = exports.removeClasses = exports.watchElementResize = void 0;
|
|
30
|
+
var events_1 = require("./events");
|
|
31
|
+
var lifecycle_1 = require("./lifecycle");
|
|
32
|
+
function watchElementResize(element, cb) {
|
|
33
|
+
var observer = new ResizeObserver(function (entires) {
|
|
34
|
+
var firstEntry = entires[0];
|
|
35
|
+
cb(firstEntry);
|
|
36
|
+
});
|
|
37
|
+
observer.observe(element);
|
|
38
|
+
return {
|
|
39
|
+
dispose: function () {
|
|
40
|
+
observer.unobserve(element);
|
|
41
|
+
observer.disconnect();
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
exports.watchElementResize = watchElementResize;
|
|
46
|
+
var removeClasses = function (element) {
|
|
47
|
+
var e_1, _a;
|
|
48
|
+
var classes = [];
|
|
49
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
50
|
+
classes[_i - 1] = arguments[_i];
|
|
51
|
+
}
|
|
52
|
+
try {
|
|
53
|
+
for (var classes_1 = __values(classes), classes_1_1 = classes_1.next(); !classes_1_1.done; classes_1_1 = classes_1.next()) {
|
|
54
|
+
var classname = classes_1_1.value;
|
|
55
|
+
if (element.classList.contains(classname)) {
|
|
56
|
+
element.classList.remove(classname);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
61
|
+
finally {
|
|
62
|
+
try {
|
|
63
|
+
if (classes_1_1 && !classes_1_1.done && (_a = classes_1.return)) _a.call(classes_1);
|
|
64
|
+
}
|
|
65
|
+
finally { if (e_1) throw e_1.error; }
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
exports.removeClasses = removeClasses;
|
|
69
|
+
var addClasses = function (element) {
|
|
70
|
+
var e_2, _a;
|
|
71
|
+
var classes = [];
|
|
72
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
73
|
+
classes[_i - 1] = arguments[_i];
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
for (var classes_2 = __values(classes), classes_2_1 = classes_2.next(); !classes_2_1.done; classes_2_1 = classes_2.next()) {
|
|
77
|
+
var classname = classes_2_1.value;
|
|
78
|
+
if (!element.classList.contains(classname)) {
|
|
79
|
+
element.classList.add(classname);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
84
|
+
finally {
|
|
85
|
+
try {
|
|
86
|
+
if (classes_2_1 && !classes_2_1.done && (_a = classes_2.return)) _a.call(classes_2);
|
|
87
|
+
}
|
|
88
|
+
finally { if (e_2) throw e_2.error; }
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
exports.addClasses = addClasses;
|
|
92
|
+
var toggleClass = function (element, className, isToggled) {
|
|
93
|
+
var hasClass = element.classList.contains(className);
|
|
94
|
+
if (isToggled && !hasClass) {
|
|
95
|
+
element.classList.add(className);
|
|
96
|
+
}
|
|
97
|
+
if (!isToggled && hasClass) {
|
|
98
|
+
element.classList.remove(className);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
exports.toggleClass = toggleClass;
|
|
102
|
+
function isAncestor(testChild, testAncestor) {
|
|
103
|
+
while (testChild) {
|
|
104
|
+
if (testChild === testAncestor) {
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
testChild = testChild.parentNode;
|
|
108
|
+
}
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
exports.isAncestor = isAncestor;
|
|
112
|
+
function getElementsByTagName(tag) {
|
|
113
|
+
return Array.prototype.slice.call(document.getElementsByTagName(tag), 0);
|
|
114
|
+
}
|
|
115
|
+
exports.getElementsByTagName = getElementsByTagName;
|
|
116
|
+
function trackFocus(element) {
|
|
117
|
+
return new FocusTracker(element);
|
|
118
|
+
}
|
|
119
|
+
exports.trackFocus = trackFocus;
|
|
120
|
+
/**
|
|
121
|
+
* Track focus on an element. Ensure tabIndex is set when an HTMLElement is not focusable by default
|
|
122
|
+
*/
|
|
123
|
+
var FocusTracker = /** @class */ (function (_super) {
|
|
124
|
+
__extends(FocusTracker, _super);
|
|
125
|
+
function FocusTracker(element) {
|
|
126
|
+
var _this = _super.call(this) || this;
|
|
127
|
+
_this._onDidFocus = new events_1.Emitter();
|
|
128
|
+
_this.onDidFocus = _this._onDidFocus.event;
|
|
129
|
+
_this._onDidBlur = new events_1.Emitter();
|
|
130
|
+
_this.onDidBlur = _this._onDidBlur.event;
|
|
131
|
+
var hasFocus = isAncestor(document.activeElement, element);
|
|
132
|
+
var loosingFocus = false;
|
|
133
|
+
var onFocus = function () {
|
|
134
|
+
loosingFocus = false;
|
|
135
|
+
if (!hasFocus) {
|
|
136
|
+
hasFocus = true;
|
|
137
|
+
_this._onDidFocus.fire();
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
var onBlur = function () {
|
|
141
|
+
if (hasFocus) {
|
|
142
|
+
loosingFocus = true;
|
|
143
|
+
window.setTimeout(function () {
|
|
144
|
+
if (loosingFocus) {
|
|
145
|
+
loosingFocus = false;
|
|
146
|
+
hasFocus = false;
|
|
147
|
+
_this._onDidBlur.fire();
|
|
148
|
+
}
|
|
149
|
+
}, 0);
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
_this._refreshStateHandler = function () {
|
|
153
|
+
var currentNodeHasFocus = isAncestor(document.activeElement, element);
|
|
154
|
+
if (currentNodeHasFocus !== hasFocus) {
|
|
155
|
+
if (hasFocus) {
|
|
156
|
+
onBlur();
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
onFocus();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
if (element instanceof HTMLElement) {
|
|
164
|
+
_this.addDisposables((0, events_1.addDisposableListener)(element, 'focus', onFocus, true));
|
|
165
|
+
_this.addDisposables((0, events_1.addDisposableListener)(element, 'blur', onBlur, true));
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
_this.addDisposables((0, events_1.addDisposableWindowListener)(element, 'focus', onFocus, true));
|
|
169
|
+
_this.addDisposables((0, events_1.addDisposableWindowListener)(element, 'blur', onBlur, true));
|
|
170
|
+
}
|
|
171
|
+
return _this;
|
|
172
|
+
}
|
|
173
|
+
FocusTracker.prototype.refreshState = function () {
|
|
174
|
+
this._refreshStateHandler();
|
|
175
|
+
};
|
|
176
|
+
FocusTracker.prototype.dispose = function () {
|
|
177
|
+
_super.prototype.dispose.call(this);
|
|
178
|
+
this._onDidBlur.dispose();
|
|
179
|
+
this._onDidFocus.dispose();
|
|
180
|
+
};
|
|
181
|
+
return FocusTracker;
|
|
182
|
+
}(lifecycle_1.CompositeDisposable));
|
|
183
183
|
//# sourceMappingURL=dom.js.map
|
package/dist/cjs/events.d.ts
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { IDisposable } from './lifecycle';
|
|
2
|
-
export interface Event<T> {
|
|
3
|
-
(listener: (e: T) => any): IDisposable;
|
|
4
|
-
}
|
|
5
|
-
export interface EmitterOptions {
|
|
6
|
-
replay?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare namespace Event {
|
|
9
|
-
const any: <T>(...children: Event<T>[]) => Event<T>;
|
|
10
|
-
}
|
|
11
|
-
export declare class Emitter<T> implements IDisposable {
|
|
12
|
-
private readonly options?;
|
|
13
|
-
private _event?;
|
|
14
|
-
private _last?;
|
|
15
|
-
private _listeners;
|
|
16
|
-
private _disposed;
|
|
17
|
-
constructor(options?: EmitterOptions | undefined);
|
|
18
|
-
get event(): Event<T>;
|
|
19
|
-
fire(e: T): void;
|
|
20
|
-
dispose(): void;
|
|
21
|
-
}
|
|
22
|
-
export declare function addDisposableWindowListener<K extends keyof WindowEventMap>(element: Window, type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): IDisposable;
|
|
23
|
-
export declare function addDisposableListener<K extends keyof HTMLElementEventMap>(element: HTMLElement, type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): IDisposable;
|
|
24
|
-
export declare class TickDelayedEvent implements IDisposable {
|
|
25
|
-
private timer;
|
|
26
|
-
private readonly _onFired;
|
|
27
|
-
readonly onEvent: Event<void>;
|
|
28
|
-
fire(): void;
|
|
29
|
-
dispose(): void;
|
|
30
|
-
}
|
|
1
|
+
import { IDisposable } from './lifecycle';
|
|
2
|
+
export interface Event<T> {
|
|
3
|
+
(listener: (e: T) => any): IDisposable;
|
|
4
|
+
}
|
|
5
|
+
export interface EmitterOptions {
|
|
6
|
+
replay?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare namespace Event {
|
|
9
|
+
const any: <T>(...children: Event<T>[]) => Event<T>;
|
|
10
|
+
}
|
|
11
|
+
export declare class Emitter<T> implements IDisposable {
|
|
12
|
+
private readonly options?;
|
|
13
|
+
private _event?;
|
|
14
|
+
private _last?;
|
|
15
|
+
private _listeners;
|
|
16
|
+
private _disposed;
|
|
17
|
+
constructor(options?: EmitterOptions | undefined);
|
|
18
|
+
get event(): Event<T>;
|
|
19
|
+
fire(e: T): void;
|
|
20
|
+
dispose(): void;
|
|
21
|
+
}
|
|
22
|
+
export declare function addDisposableWindowListener<K extends keyof WindowEventMap>(element: Window, type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): IDisposable;
|
|
23
|
+
export declare function addDisposableListener<K extends keyof HTMLElementEventMap>(element: HTMLElement, type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): IDisposable;
|
|
24
|
+
export declare class TickDelayedEvent implements IDisposable {
|
|
25
|
+
private timer;
|
|
26
|
+
private readonly _onFired;
|
|
27
|
+
readonly onEvent: Event<void>;
|
|
28
|
+
fire(): void;
|
|
29
|
+
dispose(): void;
|
|
30
|
+
}
|