dockview-core 7.0.4 → 8.1.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.
- package/LICENCE.md +21 -0
- package/README.md +17 -86
- package/dist/cjs/api/component.api.d.ts +100 -9
- package/dist/cjs/api/dockviewGroupPanelApi.d.ts +45 -1
- package/dist/cjs/api/dockviewPanelApi.d.ts +21 -0
- package/dist/cjs/dismissableLayer.d.ts +57 -0
- package/dist/cjs/dnd/backend.d.ts +2 -2
- package/dist/cjs/dnd/dataTransfer.d.ts +1 -0
- package/dist/cjs/dnd/dropTargetAnchorContainer.d.ts +12 -0
- package/dist/cjs/dnd/droptarget.d.ts +94 -0
- package/dist/cjs/dnd/ghost.d.ts +1 -0
- package/dist/cjs/dnd/pointer/longPress.d.ts +2 -2
- package/dist/cjs/dnd/pointer/pointerDragController.d.ts +5 -2
- package/dist/cjs/dnd/pointer/pointerDragSource.d.ts +1 -1
- package/dist/cjs/dnd/pointer/pointerDropTarget.d.ts +30 -1
- package/dist/cjs/dnd/pointer/pointerGhost.d.ts +1 -1
- package/dist/cjs/dockview/accessibilityMessages.d.ts +6 -0
- package/dist/cjs/dockview/advancedDnDService.d.ts +31 -0
- package/dist/cjs/dockview/components/panel/content.d.ts +1 -1
- package/dist/cjs/dockview/components/tab/defaultTab.d.ts +2 -0
- package/dist/cjs/dockview/components/tab/tab.d.ts +2 -0
- package/dist/cjs/dockview/components/titlebar/floatingTitleBar.d.ts +2 -2
- package/dist/cjs/dockview/components/titlebar/groupDragSource.d.ts +1 -1
- package/dist/cjs/dockview/components/titlebar/tabGroupChip.d.ts +1 -1
- package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.d.ts +73 -2
- package/dist/cjs/dockview/components/titlebar/tabGroups.d.ts +1 -1
- package/dist/cjs/dockview/components/titlebar/tabReorderController.d.ts +295 -0
- package/dist/cjs/dockview/components/titlebar/tabs.d.ts +120 -50
- package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +48 -0
- package/dist/cjs/dockview/dndCapabilities.d.ts +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +307 -19
- package/dist/cjs/dockview/dockviewGroupPanel.d.ts +5 -0
- package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +76 -2
- package/dist/cjs/dockview/dockviewPanel.d.ts +12 -0
- package/dist/cjs/dockview/dockviewShell.d.ts +48 -24
- package/dist/cjs/dockview/edgeGroupService.d.ts +20 -0
- package/dist/cjs/dockview/events.d.ts +6 -0
- package/dist/cjs/dockview/liveRegionService.d.ts +18 -5
- package/dist/cjs/dockview/moduleContracts.d.ts +485 -14
- package/dist/cjs/dockview/modules.d.ts +101 -22
- package/dist/cjs/dockview/options.d.ts +336 -30
- package/dist/cjs/dockview/optionsModules.d.ts +73 -0
- package/dist/cjs/dockview/popoutWindowService.d.ts +15 -10
- package/dist/cjs/dockview/rootDropTargetService.d.ts +11 -0
- package/dist/cjs/dockview/tabGroup.d.ts +3 -0
- package/dist/cjs/dockview/tabGroupAccent.d.ts +1 -1
- package/dist/cjs/dockview/tabGroupChipsService.d.ts +10 -0
- package/dist/cjs/dockview/theme.d.ts +2 -2
- package/dist/cjs/dockview/types.d.ts +3 -0
- package/dist/cjs/dom.d.ts +9 -1
- package/dist/cjs/events.d.ts +1 -1
- package/dist/cjs/gridview/baseComponentGridview.d.ts +2 -2
- package/dist/cjs/gridview/branchNode.d.ts +16 -0
- package/dist/cjs/gridview/gridview.d.ts +2 -0
- package/dist/cjs/index.d.ts +35 -29
- package/dist/cjs/lifecycle.d.ts +1 -0
- package/dist/cjs/overlay/overlay.d.ts +4 -2
- package/dist/cjs/overlay/overlayRenderContainer.d.ts +8 -0
- package/dist/cjs/paneview/paneview.d.ts +2 -1
- package/dist/cjs/paneview/paneviewComponent.d.ts +3 -0
- package/dist/cjs/paneview/paneviewPanel.d.ts +5 -0
- package/dist/cjs/scrollbar.d.ts +10 -0
- package/dist/cjs/splitview/viewItem.d.ts +10 -0
- package/dist/cjs/svg.d.ts +1 -0
- package/dist/cjs/types.d.ts +8 -0
- package/dist/dockview-core.js +18513 -19679
- package/dist/dockview-core.min.js +4138 -6
- package/dist/dockview-core.min.noStyle.js +6 -7
- package/dist/dockview-core.noStyle.js +18512 -19656
- package/dist/package/main.cjs.js +18123 -19267
- package/dist/package/main.cjs.min.js +6 -6
- package/dist/package/main.esm.min.mjs +6 -6
- package/dist/package/main.esm.mjs +18081 -19260
- package/package.json +81 -77
- package/dist/cjs/api/component.api.js +0 -1242
- package/dist/cjs/api/dockviewGroupPanelApi.js +0 -200
- package/dist/cjs/api/dockviewPanelApi.js +0 -172
- package/dist/cjs/api/entryPoints.js +0 -27
- package/dist/cjs/api/gridviewPanelApi.js +0 -45
- package/dist/cjs/api/panelApi.js +0 -133
- package/dist/cjs/api/paneviewPanelApi.js +0 -57
- package/dist/cjs/api/splitviewPanelApi.js +0 -47
- package/dist/cjs/array.js +0 -66
- package/dist/cjs/constants.js +0 -11
- package/dist/cjs/dnd/backend.js +0 -171
- package/dist/cjs/dnd/dataTransfer.js +0 -100
- package/dist/cjs/dnd/dnd.js +0 -74
- package/dist/cjs/dnd/dropOverlay.js +0 -197
- package/dist/cjs/dnd/dropTargetAnchorContainer.js +0 -104
- package/dist/cjs/dnd/droptarget.js +0 -362
- package/dist/cjs/dnd/ghost.js +0 -17
- package/dist/cjs/dnd/pointer/index.js +0 -13
- package/dist/cjs/dnd/pointer/longPress.js +0 -151
- package/dist/cjs/dnd/pointer/pointerDragController.js +0 -243
- package/dist/cjs/dnd/pointer/pointerDragSource.js +0 -197
- package/dist/cjs/dnd/pointer/pointerDropTarget.js +0 -198
- package/dist/cjs/dnd/pointer/pointerGhost.js +0 -44
- package/dist/cjs/dnd/pointer/types.js +0 -2
- package/dist/cjs/dockview/accessibilityMessages.js +0 -51
- package/dist/cjs/dockview/allModules.js +0 -25
- package/dist/cjs/dockview/components/panel/content.js +0 -213
- package/dist/cjs/dockview/components/popupService.js +0 -132
- package/dist/cjs/dockview/components/tab/defaultTab.js +0 -70
- package/dist/cjs/dockview/components/tab/tab.js +0 -281
- package/dist/cjs/dockview/components/titlebar/floatingTitleBar.js +0 -95
- package/dist/cjs/dockview/components/titlebar/groupDragSource.js +0 -218
- package/dist/cjs/dockview/components/titlebar/tabGroupChip.js +0 -104
- package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.js +0 -477
- package/dist/cjs/dockview/components/titlebar/tabGroups.js +0 -854
- package/dist/cjs/dockview/components/titlebar/tabOverflowControl.js +0 -19
- package/dist/cjs/dockview/components/titlebar/tabs.js +0 -2016
- package/dist/cjs/dockview/components/titlebar/tabsContainer.js +0 -458
- package/dist/cjs/dockview/components/titlebar/voidContainer.js +0 -120
- package/dist/cjs/dockview/components/watermark/watermark.js +0 -40
- package/dist/cjs/dockview/deserializer.js +0 -39
- package/dist/cjs/dockview/dndCapabilities.js +0 -39
- package/dist/cjs/dockview/dockviewComponent.js +0 -3896
- package/dist/cjs/dockview/dockviewFloatingGroupPanel.js +0 -70
- package/dist/cjs/dockview/dockviewGroupPanel.js +0 -204
- package/dist/cjs/dockview/dockviewGroupPanelModel.js +0 -1514
- package/dist/cjs/dockview/dockviewPanel.js +0 -265
- package/dist/cjs/dockview/dockviewPanelModel.js +0 -105
- package/dist/cjs/dockview/dockviewShell.js +0 -744
- package/dist/cjs/dockview/edgeGroupService.js +0 -128
- package/dist/cjs/dockview/events.js +0 -67
- package/dist/cjs/dockview/floatingGroupService.js +0 -231
- package/dist/cjs/dockview/framework.js +0 -2
- package/dist/cjs/dockview/headerActionsService.js +0 -149
- package/dist/cjs/dockview/liveRegionService.js +0 -185
- package/dist/cjs/dockview/moduleContracts.js +0 -2
- package/dist/cjs/dockview/modules.js +0 -304
- package/dist/cjs/dockview/options.js +0 -103
- package/dist/cjs/dockview/popoutWindowService.js +0 -261
- package/dist/cjs/dockview/rootDropTargetService.js +0 -87
- package/dist/cjs/dockview/strictEventsSequencing.js +0 -63
- package/dist/cjs/dockview/tabGroup.js +0 -219
- package/dist/cjs/dockview/tabGroupAccent.js +0 -126
- package/dist/cjs/dockview/theme.js +0 -139
- package/dist/cjs/dockview/types.js +0 -2
- package/dist/cjs/dockview/validate.js +0 -76
- package/dist/cjs/dockview/watermarkService.js +0 -61
- package/dist/cjs/dom.js +0 -543
- package/dist/cjs/events.js +0 -296
- package/dist/cjs/framwork.js +0 -2
- package/dist/cjs/gridview/baseComponentGridview.js +0 -330
- package/dist/cjs/gridview/basePanelView.js +0 -162
- package/dist/cjs/gridview/branchNode.js +0 -372
- package/dist/cjs/gridview/gridview.js +0 -776
- package/dist/cjs/gridview/gridviewComponent.js +0 -363
- package/dist/cjs/gridview/gridviewPanel.js +0 -249
- package/dist/cjs/gridview/leafNode.js +0 -169
- package/dist/cjs/gridview/options.js +0 -17
- package/dist/cjs/gridview/types.js +0 -2
- package/dist/cjs/index.js +0 -105
- package/dist/cjs/lifecycle.js +0 -80
- package/dist/cjs/math.js +0 -38
- package/dist/cjs/overlay/overlay.js +0 -602
- package/dist/cjs/overlay/overlayRenderContainer.js +0 -309
- package/dist/cjs/panel/types.js +0 -2
- package/dist/cjs/paneview/defaultPaneviewHeader.js +0 -92
- package/dist/cjs/paneview/draggablePaneviewPanel.js +0 -141
- package/dist/cjs/paneview/options.js +0 -44
- package/dist/cjs/paneview/paneview.js +0 -203
- package/dist/cjs/paneview/paneviewComponent.js +0 -430
- package/dist/cjs/paneview/paneviewPanel.js +0 -275
- package/dist/cjs/popoutWindow.js +0 -244
- package/dist/cjs/resizable.js +0 -97
- package/dist/cjs/scrollbar.js +0 -169
- package/dist/cjs/splitview/options.js +0 -19
- package/dist/cjs/splitview/splitview.js +0 -999
- package/dist/cjs/splitview/splitviewComponent.js +0 -401
- package/dist/cjs/splitview/splitviewPanel.js +0 -179
- package/dist/cjs/splitview/viewItem.js +0 -119
- package/dist/cjs/svg.js +0 -43
- package/dist/cjs/types.js +0 -2
- package/dist/dockview-core.min.js.map +0 -1
- package/dist/dockview-core.min.noStyle.js.map +0 -1
- package/dist/esm/api/component.api.d.ts +0 -640
- package/dist/esm/api/component.api.js +0 -887
- package/dist/esm/api/dockviewGroupPanelApi.d.ts +0 -109
- package/dist/esm/api/dockviewGroupPanelApi.js +0 -155
- package/dist/esm/api/dockviewPanelApi.d.ts +0 -84
- package/dist/esm/api/dockviewPanelApi.js +0 -124
- package/dist/esm/api/entryPoints.d.ts +0 -9
- package/dist/esm/api/entryPoints.js +0 -21
- package/dist/esm/api/gridviewPanelApi.d.ts +0 -37
- package/dist/esm/api/gridviewPanelApi.js +0 -23
- package/dist/esm/api/panelApi.d.ts +0 -100
- package/dist/esm/api/panelApi.js +0 -87
- package/dist/esm/api/paneviewPanelApi.d.ts +0 -26
- package/dist/esm/api/paneviewPanelApi.js +0 -27
- package/dist/esm/api/splitviewPanelApi.d.ts +0 -32
- package/dist/esm/api/splitviewPanelApi.js +0 -25
- package/dist/esm/array.d.ts +0 -13
- package/dist/esm/array.js +0 -57
- package/dist/esm/constants.d.ts +0 -8
- package/dist/esm/constants.js +0 -8
- package/dist/esm/dnd/backend.d.ts +0 -70
- package/dist/esm/dnd/backend.js +0 -148
- package/dist/esm/dnd/dataTransfer.d.ts +0 -31
- package/dist/esm/dnd/dataTransfer.js +0 -67
- package/dist/esm/dnd/dnd.d.ts +0 -32
- package/dist/esm/dnd/dnd.js +0 -51
- package/dist/esm/dnd/dropOverlay.d.ts +0 -20
- package/dist/esm/dnd/dropOverlay.js +0 -192
- package/dist/esm/dnd/dropTargetAnchorContainer.d.ts +0 -16
- package/dist/esm/dnd/dropTargetAnchorContainer.js +0 -73
- package/dist/esm/dnd/droptarget.d.ts +0 -116
- package/dist/esm/dnd/droptarget.js +0 -316
- package/dist/esm/dnd/ghost.d.ts +0 -4
- package/dist/esm/dnd/ghost.js +0 -14
- package/dist/esm/dnd/pointer/index.d.ts +0 -11
- package/dist/esm/dnd/pointer/index.js +0 -5
- package/dist/esm/dnd/pointer/longPress.d.ts +0 -32
- package/dist/esm/dnd/pointer/longPress.js +0 -127
- package/dist/esm/dnd/pointer/pointerDragController.d.ts +0 -60
- package/dist/esm/dnd/pointer/pointerDragController.js +0 -193
- package/dist/esm/dnd/pointer/pointerDragSource.d.ts +0 -61
- package/dist/esm/dnd/pointer/pointerDragSource.js +0 -173
- package/dist/esm/dnd/pointer/pointerDropTarget.d.ts +0 -39
- package/dist/esm/dnd/pointer/pointerDropTarget.js +0 -168
- package/dist/esm/dnd/pointer/pointerGhost.d.ts +0 -30
- package/dist/esm/dnd/pointer/pointerGhost.js +0 -39
- package/dist/esm/dnd/pointer/types.d.ts +0 -16
- package/dist/esm/dnd/pointer/types.js +0 -1
- package/dist/esm/dockview/accessibilityMessages.d.ts +0 -32
- package/dist/esm/dockview/accessibilityMessages.js +0 -30
- package/dist/esm/dockview/allModules.d.ts +0 -8
- package/dist/esm/dockview/allModules.js +0 -22
- package/dist/esm/dockview/components/panel/content.d.ts +0 -54
- package/dist/esm/dockview/components/panel/content.js +0 -185
- package/dist/esm/dockview/components/popupService.d.ts +0 -21
- package/dist/esm/dockview/components/popupService.js +0 -108
- package/dist/esm/dockview/components/tab/defaultTab.d.ts +0 -12
- package/dist/esm/dockview/components/tab/defaultTab.js +0 -43
- package/dist/esm/dockview/components/tab/tab.d.ts +0 -44
- package/dist/esm/dockview/components/tab/tab.js +0 -242
- package/dist/esm/dockview/components/titlebar/floatingTitleBar.d.ts +0 -34
- package/dist/esm/dockview/components/titlebar/floatingTitleBar.js +0 -65
- package/dist/esm/dockview/components/titlebar/groupDragSource.d.ts +0 -51
- package/dist/esm/dockview/components/titlebar/groupDragSource.js +0 -178
- package/dist/esm/dockview/components/titlebar/tabGroupChip.d.ts +0 -37
- package/dist/esm/dockview/components/titlebar/tabGroupChip.js +0 -77
- package/dist/esm/dockview/components/titlebar/tabGroupIndicator.d.ts +0 -72
- package/dist/esm/dockview/components/titlebar/tabGroupIndicator.js +0 -360
- package/dist/esm/dockview/components/titlebar/tabGroups.d.ts +0 -107
- package/dist/esm/dockview/components/titlebar/tabGroups.js +0 -621
- package/dist/esm/dockview/components/titlebar/tabOverflowControl.d.ts +0 -8
- package/dist/esm/dockview/components/titlebar/tabOverflowControl.js +0 -16
- package/dist/esm/dockview/components/titlebar/tabs.d.ts +0 -167
- package/dist/esm/dockview/components/titlebar/tabs.js +0 -1653
- package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +0 -104
- package/dist/esm/dockview/components/titlebar/tabsContainer.js +0 -359
- package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +0 -21
- package/dist/esm/dockview/components/titlebar/voidContainer.js +0 -92
- package/dist/esm/dockview/components/watermark/watermark.d.ts +0 -8
- package/dist/esm/dockview/components/watermark/watermark.js +0 -14
- package/dist/esm/dockview/deserializer.d.ts +0 -12
- package/dist/esm/dockview/deserializer.js +0 -34
- package/dist/esm/dockview/dndCapabilities.d.ts +0 -19
- package/dist/esm/dockview/dndCapabilities.js +0 -36
- package/dist/esm/dockview/dockviewComponent.d.ts +0 -626
- package/dist/esm/dockview/dockviewComponent.js +0 -3214
- package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts +0 -45
- package/dist/esm/dockview/dockviewFloatingGroupPanel.js +0 -44
- package/dist/esm/dockview/dockviewGroupPanel.d.ts +0 -35
- package/dist/esm/dockview/dockviewGroupPanel.js +0 -142
- package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +0 -358
- package/dist/esm/dockview/dockviewGroupPanelModel.js +0 -1180
- package/dist/esm/dockview/dockviewPanel.d.ts +0 -69
- package/dist/esm/dockview/dockviewPanel.js +0 -178
- package/dist/esm/dockview/dockviewPanelModel.d.ts +0 -37
- package/dist/esm/dockview/dockviewPanelModel.js +0 -81
- package/dist/esm/dockview/dockviewShell.d.ts +0 -150
- package/dist/esm/dockview/dockviewShell.js +0 -678
- package/dist/esm/dockview/edgeGroupService.d.ts +0 -38
- package/dist/esm/dockview/edgeGroupService.js +0 -63
- package/dist/esm/dockview/events.d.ts +0 -38
- package/dist/esm/dockview/events.js +0 -34
- package/dist/esm/dockview/floatingGroupService.d.ts +0 -37
- package/dist/esm/dockview/floatingGroupService.js +0 -150
- package/dist/esm/dockview/framework.d.ts +0 -65
- package/dist/esm/dockview/framework.js +0 -1
- package/dist/esm/dockview/headerActionsService.d.ts +0 -32
- package/dist/esm/dockview/headerActionsService.js +0 -86
- package/dist/esm/dockview/liveRegionService.d.ts +0 -53
- package/dist/esm/dockview/liveRegionService.js +0 -159
- package/dist/esm/dockview/moduleContracts.d.ts +0 -119
- package/dist/esm/dockview/moduleContracts.js +0 -1
- package/dist/esm/dockview/modules.d.ts +0 -110
- package/dist/esm/dockview/modules.js +0 -170
- package/dist/esm/dockview/options.d.ts +0 -474
- package/dist/esm/dockview/options.js +0 -77
- package/dist/esm/dockview/popoutWindowService.d.ts +0 -95
- package/dist/esm/dockview/popoutWindowService.js +0 -175
- package/dist/esm/dockview/rootDropTargetService.d.ts +0 -35
- package/dist/esm/dockview/rootDropTargetService.js +0 -82
- package/dist/esm/dockview/strictEventsSequencing.d.ts +0 -7
- package/dist/esm/dockview/strictEventsSequencing.js +0 -41
- package/dist/esm/dockview/tabGroup.d.ts +0 -99
- package/dist/esm/dockview/tabGroup.js +0 -144
- package/dist/esm/dockview/tabGroupAccent.d.ts +0 -65
- package/dist/esm/dockview/tabGroupAccent.js +0 -114
- package/dist/esm/dockview/theme.d.ts +0 -86
- package/dist/esm/dockview/theme.js +0 -136
- package/dist/esm/dockview/types.d.ts +0 -53
- package/dist/esm/dockview/types.js +0 -1
- package/dist/esm/dockview/validate.d.ts +0 -0
- package/dist/esm/dockview/validate.js +0 -76
- package/dist/esm/dockview/watermarkService.d.ts +0 -30
- package/dist/esm/dockview/watermarkService.js +0 -56
- package/dist/esm/dom.d.ts +0 -60
- package/dist/esm/dom.js +0 -375
- package/dist/esm/events.d.ts +0 -79
- package/dist/esm/events.js +0 -219
- package/dist/esm/framwork.d.ts +0 -4
- package/dist/esm/framwork.js +0 -1
- package/dist/esm/gridview/baseComponentGridview.d.ts +0 -111
- package/dist/esm/gridview/baseComponentGridview.js +0 -237
- package/dist/esm/gridview/basePanelView.d.ts +0 -40
- package/dist/esm/gridview/basePanelView.js +0 -91
- package/dist/esm/gridview/branchNode.d.ts +0 -57
- package/dist/esm/gridview/branchNode.js +0 -257
- package/dist/esm/gridview/gridview.d.ts +0 -158
- package/dist/esm/gridview/gridview.js +0 -681
- package/dist/esm/gridview/gridviewComponent.d.ts +0 -88
- package/dist/esm/gridview/gridviewComponent.js +0 -265
- package/dist/esm/gridview/gridviewPanel.d.ts +0 -77
- package/dist/esm/gridview/gridviewPanel.js +0 -182
- package/dist/esm/gridview/leafNode.d.ts +0 -34
- package/dist/esm/gridview/leafNode.js +0 -102
- package/dist/esm/gridview/options.d.ts +0 -15
- package/dist/esm/gridview/options.js +0 -14
- package/dist/esm/gridview/types.d.ts +0 -3
- package/dist/esm/gridview/types.js +0 -1
- package/dist/esm/index.d.ts +0 -58
- package/dist/esm/index.js +0 -44
- package/dist/esm/lifecycle.d.ts +0 -25
- package/dist/esm/lifecycle.js +0 -56
- package/dist/esm/math.d.ts +0 -5
- package/dist/esm/math.js +0 -32
- package/dist/esm/overlay/overlay.d.ts +0 -91
- package/dist/esm/overlay/overlay.js +0 -520
- package/dist/esm/overlay/overlayRenderContainer.d.ts +0 -24
- package/dist/esm/overlay/overlayRenderContainer.js +0 -249
- package/dist/esm/panel/types.d.ts +0 -33
- package/dist/esm/panel/types.js +0 -1
- package/dist/esm/paneview/defaultPaneviewHeader.d.ts +0 -21
- package/dist/esm/paneview/defaultPaneviewHeader.js +0 -65
- package/dist/esm/paneview/draggablePaneviewPanel.d.ts +0 -38
- package/dist/esm/paneview/draggablePaneviewPanel.js +0 -107
- package/dist/esm/paneview/options.d.ts +0 -30
- package/dist/esm/paneview/options.js +0 -22
- package/dist/esm/paneview/paneview.d.ts +0 -41
- package/dist/esm/paneview/paneview.js +0 -148
- package/dist/esm/paneview/paneviewComponent.d.ts +0 -133
- package/dist/esm/paneview/paneviewComponent.js +0 -306
- package/dist/esm/paneview/paneviewPanel.d.ts +0 -98
- package/dist/esm/paneview/paneviewPanel.js +0 -192
- package/dist/esm/popoutWindow.d.ts +0 -38
- package/dist/esm/popoutWindow.js +0 -170
- package/dist/esm/resizable.d.ts +0 -12
- package/dist/esm/resizable.js +0 -66
- package/dist/esm/scrollbar.d.ts +0 -15
- package/dist/esm/scrollbar.js +0 -139
- package/dist/esm/splitview/options.d.ts +0 -21
- package/dist/esm/splitview/options.js +0 -16
- package/dist/esm/splitview/splitview.d.ts +0 -145
- package/dist/esm/splitview/splitview.js +0 -770
- package/dist/esm/splitview/splitviewComponent.d.ts +0 -101
- package/dist/esm/splitview/splitviewComponent.js +0 -267
- package/dist/esm/splitview/splitviewPanel.d.ts +0 -45
- package/dist/esm/splitview/splitviewPanel.js +0 -108
- package/dist/esm/splitview/viewItem.d.ts +0 -25
- package/dist/esm/splitview/viewItem.js +0 -74
- package/dist/esm/svg.d.ts +0 -3
- package/dist/esm/svg.js +0 -31
- package/dist/esm/types.d.ts +0 -31
- package/dist/esm/types.js +0 -1
- package/dist/styles/dockview.css +0 -3436
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
import { DragAndDropObserver } from '../dnd/dnd';
|
|
2
|
-
import { getDomNodePagePosition, toggleClass } from '../dom';
|
|
3
|
-
import { CompositeDisposable, Disposable, MutableDisposable, } from '../lifecycle';
|
|
4
|
-
class PositionCache {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.cache = new Map();
|
|
7
|
-
this.currentFrameId = 0;
|
|
8
|
-
this.rafId = null;
|
|
9
|
-
}
|
|
10
|
-
getPosition(element) {
|
|
11
|
-
const cached = this.cache.get(element);
|
|
12
|
-
if ((cached === null || cached === void 0 ? void 0 : cached.frameId) === this.currentFrameId) {
|
|
13
|
-
return cached.rect;
|
|
14
|
-
}
|
|
15
|
-
this.scheduleFrameUpdate();
|
|
16
|
-
const rect = getDomNodePagePosition(element);
|
|
17
|
-
this.cache.set(element, { rect, frameId: this.currentFrameId });
|
|
18
|
-
return rect;
|
|
19
|
-
}
|
|
20
|
-
invalidate() {
|
|
21
|
-
this.currentFrameId++;
|
|
22
|
-
}
|
|
23
|
-
scheduleFrameUpdate() {
|
|
24
|
-
if (this.rafId)
|
|
25
|
-
return;
|
|
26
|
-
this.rafId = requestAnimationFrame(() => {
|
|
27
|
-
this.currentFrameId++;
|
|
28
|
-
this.rafId = null;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
function createFocusableElement() {
|
|
33
|
-
const element = document.createElement('div');
|
|
34
|
-
element.tabIndex = -1;
|
|
35
|
-
return element;
|
|
36
|
-
}
|
|
37
|
-
export class OverlayRenderContainer extends CompositeDisposable {
|
|
38
|
-
constructor(element, accessor) {
|
|
39
|
-
super();
|
|
40
|
-
this.element = element;
|
|
41
|
-
this.accessor = accessor;
|
|
42
|
-
this.map = {};
|
|
43
|
-
this._disposed = false;
|
|
44
|
-
this.positionCache = new PositionCache();
|
|
45
|
-
this.pendingUpdates = new Set();
|
|
46
|
-
this.addDisposables(Disposable.from(() => {
|
|
47
|
-
for (const value of Object.values(this.map)) {
|
|
48
|
-
value.disposable.dispose();
|
|
49
|
-
value.destroy.dispose();
|
|
50
|
-
}
|
|
51
|
-
this._disposed = true;
|
|
52
|
-
}));
|
|
53
|
-
}
|
|
54
|
-
updateAllPositions() {
|
|
55
|
-
if (this._disposed) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
// Invalidate position cache to force recalculation
|
|
59
|
-
this.positionCache.invalidate();
|
|
60
|
-
// Call resize function directly for all visible panels
|
|
61
|
-
for (const entry of Object.values(this.map)) {
|
|
62
|
-
if (entry.panel.api.isVisible && entry.resize) {
|
|
63
|
-
entry.resize();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
detatch(panel) {
|
|
68
|
-
if (this.map[panel.api.id]) {
|
|
69
|
-
const { disposable, destroy } = this.map[panel.api.id];
|
|
70
|
-
disposable.dispose();
|
|
71
|
-
destroy.dispose();
|
|
72
|
-
delete this.map[panel.api.id];
|
|
73
|
-
return true;
|
|
74
|
-
}
|
|
75
|
-
return false;
|
|
76
|
-
}
|
|
77
|
-
attach(options) {
|
|
78
|
-
const { panel, referenceContainer } = options;
|
|
79
|
-
if (!this.map[panel.api.id]) {
|
|
80
|
-
const element = createFocusableElement();
|
|
81
|
-
element.className = 'dv-render-overlay';
|
|
82
|
-
// Hide until the first RAF-based position is applied to prevent a
|
|
83
|
-
// one-frame flash at position 0,0 when the element is first attached.
|
|
84
|
-
element.style.visibility = 'hidden';
|
|
85
|
-
this.map[panel.api.id] = {
|
|
86
|
-
panel,
|
|
87
|
-
disposable: Disposable.NONE,
|
|
88
|
-
destroy: Disposable.NONE,
|
|
89
|
-
element,
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
const focusContainer = this.map[panel.api.id].element;
|
|
93
|
-
// Capture the content element now so the destroy disposable below
|
|
94
|
-
// does not re-query the renderer's `element` getter during teardown.
|
|
95
|
-
// Some framework adapters (e.g. dockview-angular) tear down their
|
|
96
|
-
// backing renderer before this disposable fires; reading through the
|
|
97
|
-
// getter at that point can throw.
|
|
98
|
-
const contentElement = panel.view.content.element;
|
|
99
|
-
if (contentElement.parentElement !== focusContainer) {
|
|
100
|
-
focusContainer.appendChild(contentElement);
|
|
101
|
-
}
|
|
102
|
-
if (focusContainer.parentElement !== this.element) {
|
|
103
|
-
this.element.appendChild(focusContainer);
|
|
104
|
-
}
|
|
105
|
-
const resize = () => {
|
|
106
|
-
const panelId = panel.api.id;
|
|
107
|
-
if (this.pendingUpdates.has(panelId)) {
|
|
108
|
-
return; // Update already scheduled
|
|
109
|
-
}
|
|
110
|
-
this.pendingUpdates.add(panelId);
|
|
111
|
-
requestAnimationFrame(() => {
|
|
112
|
-
this.pendingUpdates.delete(panelId);
|
|
113
|
-
if (this.isDisposed || !this.map[panelId]) {
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
const box = this.positionCache.getPosition(referenceContainer.element);
|
|
117
|
-
const box2 = this.positionCache.getPosition(this.element);
|
|
118
|
-
// Use traditional positioning for overlay containers
|
|
119
|
-
const left = box.left - box2.left;
|
|
120
|
-
const top = box.top - box2.top;
|
|
121
|
-
const width = box.width;
|
|
122
|
-
const height = box.height;
|
|
123
|
-
focusContainer.style.left = `${left}px`;
|
|
124
|
-
focusContainer.style.top = `${top}px`;
|
|
125
|
-
focusContainer.style.width = `${width}px`;
|
|
126
|
-
focusContainer.style.height = `${height}px`;
|
|
127
|
-
// Sync visibility/pointer-events with the panel's current
|
|
128
|
-
// visibility at paint time. visibilityChanged() may have
|
|
129
|
-
// flipped to hidden between scheduling this rAF and now;
|
|
130
|
-
// unconditionally clearing `visibility:hidden` here would
|
|
131
|
-
// leave a hidden panel visually visible at a stale position,
|
|
132
|
-
// because onDidDimensionsChange skips non-visible panels and
|
|
133
|
-
// never recomputes their box on subsequent resizes.
|
|
134
|
-
if (panel.api.isVisible) {
|
|
135
|
-
focusContainer.style.visibility = '';
|
|
136
|
-
focusContainer.style.pointerEvents = '';
|
|
137
|
-
}
|
|
138
|
-
else {
|
|
139
|
-
focusContainer.style.visibility = 'hidden';
|
|
140
|
-
focusContainer.style.pointerEvents = 'none';
|
|
141
|
-
}
|
|
142
|
-
toggleClass(focusContainer, 'dv-render-overlay-float', panel.group.api.location.type === 'floating');
|
|
143
|
-
});
|
|
144
|
-
};
|
|
145
|
-
const visibilityChanged = () => {
|
|
146
|
-
if (panel.api.isVisible) {
|
|
147
|
-
this.positionCache.invalidate();
|
|
148
|
-
resize();
|
|
149
|
-
focusContainer.style.pointerEvents = '';
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
focusContainer.style.visibility = 'hidden';
|
|
153
|
-
focusContainer.style.pointerEvents = 'none';
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
const observerDisposable = new MutableDisposable();
|
|
157
|
-
const correctLayerPosition = () => {
|
|
158
|
-
if (panel.api.location.type === 'floating') {
|
|
159
|
-
queueMicrotask(() => {
|
|
160
|
-
const floatingGroup = this.accessor.floatingGroups.find((group) => group.group === panel.api.group);
|
|
161
|
-
if (!floatingGroup) {
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
const element = floatingGroup.overlay.element;
|
|
165
|
-
const update = () => {
|
|
166
|
-
const level = Number(element.getAttribute('aria-level'));
|
|
167
|
-
focusContainer.style.zIndex = `calc(var(--dv-overlay-z-index, 999) + ${level * 2 + 1})`;
|
|
168
|
-
};
|
|
169
|
-
const observer = new MutationObserver(() => {
|
|
170
|
-
update();
|
|
171
|
-
});
|
|
172
|
-
observerDisposable.value = Disposable.from(() => observer.disconnect());
|
|
173
|
-
observer.observe(element, {
|
|
174
|
-
attributeFilter: ['aria-level'],
|
|
175
|
-
attributes: true,
|
|
176
|
-
});
|
|
177
|
-
update();
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
else {
|
|
181
|
-
focusContainer.style.zIndex = ''; // reset the z-index, perhaps CSS will take over here
|
|
182
|
-
}
|
|
183
|
-
};
|
|
184
|
-
const disposable = new CompositeDisposable(observerDisposable,
|
|
185
|
-
/**
|
|
186
|
-
* since container is positioned absoutely we must explicitly forward
|
|
187
|
-
* the dnd events for the expect behaviours to continue to occur in terms of dnd
|
|
188
|
-
*
|
|
189
|
-
* the dnd observer does not need to be conditional on whether the panel is visible since
|
|
190
|
-
* non-visible panels have 'pointer-events: none' and in such case the dnd observer will not fire.
|
|
191
|
-
*/
|
|
192
|
-
new DragAndDropObserver(focusContainer, {
|
|
193
|
-
onDragEnd: (e) => {
|
|
194
|
-
referenceContainer.dropTarget.dnd.onDragEnd(e);
|
|
195
|
-
},
|
|
196
|
-
onDragEnter: (e) => {
|
|
197
|
-
referenceContainer.dropTarget.dnd.onDragEnter(e);
|
|
198
|
-
},
|
|
199
|
-
onDragLeave: (e) => {
|
|
200
|
-
referenceContainer.dropTarget.dnd.onDragLeave(e);
|
|
201
|
-
},
|
|
202
|
-
onDrop: (e) => {
|
|
203
|
-
referenceContainer.dropTarget.dnd.onDrop(e);
|
|
204
|
-
},
|
|
205
|
-
onDragOver: (e) => {
|
|
206
|
-
referenceContainer.dropTarget.dnd.onDragOver(e);
|
|
207
|
-
},
|
|
208
|
-
}), panel.api.onDidVisibilityChange(() => {
|
|
209
|
-
/**
|
|
210
|
-
* Control the visibility of the content, however even when not visible (display: none)
|
|
211
|
-
* the content is still maintained within the DOM hence DOM specific attributes
|
|
212
|
-
* such as scroll position are maintained when next made visible.
|
|
213
|
-
*/
|
|
214
|
-
visibilityChanged();
|
|
215
|
-
}), panel.api.onDidDimensionsChange(() => {
|
|
216
|
-
if (!panel.api.isVisible) {
|
|
217
|
-
return;
|
|
218
|
-
}
|
|
219
|
-
resize();
|
|
220
|
-
}), panel.api.onDidLocationChange(() => {
|
|
221
|
-
correctLayerPosition();
|
|
222
|
-
}));
|
|
223
|
-
this.map[panel.api.id].destroy = Disposable.from(() => {
|
|
224
|
-
if (contentElement.parentElement === focusContainer) {
|
|
225
|
-
contentElement.remove();
|
|
226
|
-
}
|
|
227
|
-
focusContainer.remove();
|
|
228
|
-
});
|
|
229
|
-
correctLayerPosition();
|
|
230
|
-
queueMicrotask(() => {
|
|
231
|
-
if (this.isDisposed) {
|
|
232
|
-
return;
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* wait until everything has finished in the current stack-frame call before
|
|
236
|
-
* calling the first resize as other size-altering events may still occur before
|
|
237
|
-
* the end of the stack-frame.
|
|
238
|
-
*/
|
|
239
|
-
visibilityChanged();
|
|
240
|
-
});
|
|
241
|
-
// dispose of logic asoccciated with previous reference-container
|
|
242
|
-
this.map[panel.api.id].disposable.dispose();
|
|
243
|
-
// and reset the disposable to the active reference-container
|
|
244
|
-
this.map[panel.api.id].disposable = disposable;
|
|
245
|
-
// store the resize function for direct access
|
|
246
|
-
this.map[panel.api.id].resize = resize;
|
|
247
|
-
return focusContainer;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { IDisposable } from '../lifecycle';
|
|
2
|
-
import { LayoutPriority } from '../splitview/splitview';
|
|
3
|
-
/**
|
|
4
|
-
* A key-value object of anything that is a valid JavaScript Object.
|
|
5
|
-
*/
|
|
6
|
-
export interface Parameters {
|
|
7
|
-
[key: string]: any;
|
|
8
|
-
}
|
|
9
|
-
export interface PanelInitParameters {
|
|
10
|
-
params: Parameters;
|
|
11
|
-
}
|
|
12
|
-
export interface PanelUpdateEvent<T extends Parameters = Parameters> {
|
|
13
|
-
params: Partial<T>;
|
|
14
|
-
}
|
|
15
|
-
export interface IPanel extends IDisposable {
|
|
16
|
-
readonly id: string;
|
|
17
|
-
init(params: PanelInitParameters): void;
|
|
18
|
-
layout(width: number, height: number): void;
|
|
19
|
-
update(event: PanelUpdateEvent<Parameters>): void;
|
|
20
|
-
toJSON(): object;
|
|
21
|
-
focus(): void;
|
|
22
|
-
}
|
|
23
|
-
export interface IFrameworkPart extends IDisposable {
|
|
24
|
-
update(params: Parameters): void;
|
|
25
|
-
}
|
|
26
|
-
export interface BaseComponentOptions<T extends object = Parameters> {
|
|
27
|
-
id: string;
|
|
28
|
-
component: string;
|
|
29
|
-
params?: T;
|
|
30
|
-
snap?: boolean;
|
|
31
|
-
priority?: LayoutPriority;
|
|
32
|
-
size?: number;
|
|
33
|
-
}
|
package/dist/esm/panel/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { PaneviewPanelApiImpl } from '../api/paneviewPanelApi';
|
|
2
|
-
import { CompositeDisposable } from '../lifecycle';
|
|
3
|
-
import { PanelUpdateEvent } from '../panel/types';
|
|
4
|
-
import { IPanePart, PanePanelInitParameter } from './paneviewPanel';
|
|
5
|
-
export declare class DefaultHeader extends CompositeDisposable implements IPanePart {
|
|
6
|
-
private readonly _expandedIcon;
|
|
7
|
-
private readonly _collapsedIcon;
|
|
8
|
-
private readonly disposable;
|
|
9
|
-
private readonly _element;
|
|
10
|
-
private readonly _content;
|
|
11
|
-
private readonly _expander;
|
|
12
|
-
private readonly apiRef;
|
|
13
|
-
get element(): HTMLElement;
|
|
14
|
-
constructor();
|
|
15
|
-
init(params: PanePanelInitParameter & {
|
|
16
|
-
api: PaneviewPanelApiImpl;
|
|
17
|
-
}): void;
|
|
18
|
-
private updateIcon;
|
|
19
|
-
update(_params: PanelUpdateEvent): void;
|
|
20
|
-
dispose(): void;
|
|
21
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { addDisposableListener } from '../events';
|
|
2
|
-
import { CompositeDisposable, MutableDisposable } from '../lifecycle';
|
|
3
|
-
import { toggleClass } from '../dom';
|
|
4
|
-
import { createChevronRightButton, createExpandMoreButton } from '../svg';
|
|
5
|
-
export class DefaultHeader extends CompositeDisposable {
|
|
6
|
-
get element() {
|
|
7
|
-
return this._element;
|
|
8
|
-
}
|
|
9
|
-
constructor() {
|
|
10
|
-
super();
|
|
11
|
-
this._expandedIcon = createExpandMoreButton();
|
|
12
|
-
this._collapsedIcon = createChevronRightButton();
|
|
13
|
-
this.disposable = new MutableDisposable();
|
|
14
|
-
this.apiRef = {
|
|
15
|
-
api: null,
|
|
16
|
-
};
|
|
17
|
-
this._element = document.createElement('div');
|
|
18
|
-
this.element.className = 'dv-default-header';
|
|
19
|
-
this._content = document.createElement('span');
|
|
20
|
-
this._expander = document.createElement('div');
|
|
21
|
-
this._expander.className = 'dv-pane-header-icon';
|
|
22
|
-
this.element.appendChild(this._expander);
|
|
23
|
-
this.element.appendChild(this._content);
|
|
24
|
-
this.addDisposables(addDisposableListener(this._element, 'click', () => {
|
|
25
|
-
var _a;
|
|
26
|
-
(_a = this.apiRef.api) === null || _a === void 0 ? void 0 : _a.setExpanded(!this.apiRef.api.isExpanded);
|
|
27
|
-
}));
|
|
28
|
-
}
|
|
29
|
-
init(params) {
|
|
30
|
-
this.apiRef.api = params.api;
|
|
31
|
-
this._content.textContent = params.title;
|
|
32
|
-
this.updateIcon();
|
|
33
|
-
this.disposable.value = params.api.onDidExpansionChange(() => {
|
|
34
|
-
this.updateIcon();
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
updateIcon() {
|
|
38
|
-
var _a;
|
|
39
|
-
const isExpanded = !!((_a = this.apiRef.api) === null || _a === void 0 ? void 0 : _a.isExpanded);
|
|
40
|
-
toggleClass(this._expander, 'collapsed', !isExpanded);
|
|
41
|
-
if (isExpanded) {
|
|
42
|
-
if (this._expander.contains(this._collapsedIcon)) {
|
|
43
|
-
this._collapsedIcon.remove();
|
|
44
|
-
}
|
|
45
|
-
if (!this._expander.contains(this._expandedIcon)) {
|
|
46
|
-
this._expander.appendChild(this._expandedIcon);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
if (this._expander.contains(this._expandedIcon)) {
|
|
51
|
-
this._expandedIcon.remove();
|
|
52
|
-
}
|
|
53
|
-
if (!this._expander.contains(this._collapsedIcon)) {
|
|
54
|
-
this._expander.appendChild(this._collapsedIcon);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
update(_params) {
|
|
59
|
-
//
|
|
60
|
-
}
|
|
61
|
-
dispose() {
|
|
62
|
-
this.disposable.dispose();
|
|
63
|
-
super.dispose();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { PaneviewApi } from '../api/component.api';
|
|
2
|
-
import { PaneTransfer } from '../dnd/dataTransfer';
|
|
3
|
-
import { DroptargetEvent } from '../dnd/droptarget';
|
|
4
|
-
import { Event } from '../events';
|
|
5
|
-
import { Orientation } from '../splitview/splitview';
|
|
6
|
-
import { PaneviewDndOverlayEvent } from './options';
|
|
7
|
-
import { IPaneviewComponent } from './paneviewComponent';
|
|
8
|
-
import { IPaneviewPanel, PaneviewPanel } from './paneviewPanel';
|
|
9
|
-
export interface PaneviewDidDropEvent extends DroptargetEvent {
|
|
10
|
-
panel: IPaneviewPanel;
|
|
11
|
-
getData: () => PaneTransfer | undefined;
|
|
12
|
-
api: PaneviewApi;
|
|
13
|
-
}
|
|
14
|
-
export declare abstract class DraggablePaneviewPanel extends PaneviewPanel {
|
|
15
|
-
private html5DragSource;
|
|
16
|
-
private pointerDragSource;
|
|
17
|
-
private target;
|
|
18
|
-
private pointerTarget;
|
|
19
|
-
private readonly _onDidDrop;
|
|
20
|
-
readonly onDidDrop: Event<PaneviewDidDropEvent>;
|
|
21
|
-
private readonly _onUnhandledDragOver;
|
|
22
|
-
readonly onUnhandledDragOver: Event<PaneviewDndOverlayEvent>;
|
|
23
|
-
readonly accessor: IPaneviewComponent;
|
|
24
|
-
constructor(options: {
|
|
25
|
-
accessor: IPaneviewComponent;
|
|
26
|
-
id: string;
|
|
27
|
-
component: string;
|
|
28
|
-
headerComponent: string | undefined;
|
|
29
|
-
orientation: Orientation;
|
|
30
|
-
isExpanded: boolean;
|
|
31
|
-
disableDnd: boolean;
|
|
32
|
-
headerSize: number;
|
|
33
|
-
minimumBodySize: number;
|
|
34
|
-
maximumBodySize: number;
|
|
35
|
-
});
|
|
36
|
-
private initDragFeatures;
|
|
37
|
-
private onDrop;
|
|
38
|
-
}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { PaneviewApi } from '../api/component.api';
|
|
2
|
-
import { html5Backend, pointerBackend, } from '../dnd/backend';
|
|
3
|
-
import { getPaneData, LocalSelectionTransfer, PaneTransfer, } from '../dnd/dataTransfer';
|
|
4
|
-
import { Emitter } from '../events';
|
|
5
|
-
import { PaneviewUnhandledDragOverEvent, } from './options';
|
|
6
|
-
import { PaneviewPanel, } from './paneviewPanel';
|
|
7
|
-
export class DraggablePaneviewPanel extends PaneviewPanel {
|
|
8
|
-
constructor(options) {
|
|
9
|
-
super({
|
|
10
|
-
id: options.id,
|
|
11
|
-
component: options.component,
|
|
12
|
-
headerComponent: options.headerComponent,
|
|
13
|
-
orientation: options.orientation,
|
|
14
|
-
isExpanded: options.isExpanded,
|
|
15
|
-
isHeaderVisible: true,
|
|
16
|
-
headerSize: options.headerSize,
|
|
17
|
-
minimumBodySize: options.minimumBodySize,
|
|
18
|
-
maximumBodySize: options.maximumBodySize,
|
|
19
|
-
});
|
|
20
|
-
this._onDidDrop = new Emitter();
|
|
21
|
-
this.onDidDrop = this._onDidDrop.event;
|
|
22
|
-
this._onUnhandledDragOver = new Emitter();
|
|
23
|
-
this.onUnhandledDragOver = this._onUnhandledDragOver.event;
|
|
24
|
-
this.accessor = options.accessor;
|
|
25
|
-
this.addDisposables(this._onDidDrop, this._onUnhandledDragOver);
|
|
26
|
-
if (!options.disableDnd) {
|
|
27
|
-
this.initDragFeatures();
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
initDragFeatures() {
|
|
31
|
-
if (!this.header) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
const id = this.id;
|
|
35
|
-
const accessorId = this.accessor.id;
|
|
36
|
-
this.header.draggable = true;
|
|
37
|
-
const sharedDragOptions = {
|
|
38
|
-
getData: () => {
|
|
39
|
-
LocalSelectionTransfer.getInstance().setData([new PaneTransfer(accessorId, id)], PaneTransfer.prototype);
|
|
40
|
-
return {
|
|
41
|
-
dispose: () => {
|
|
42
|
-
LocalSelectionTransfer.getInstance().clearData(PaneTransfer.prototype);
|
|
43
|
-
},
|
|
44
|
-
};
|
|
45
|
-
},
|
|
46
|
-
};
|
|
47
|
-
this.html5DragSource = html5Backend.createDragSource(this.header, sharedDragOptions);
|
|
48
|
-
this.pointerDragSource = pointerBackend.createDragSource(this.header, sharedDragOptions);
|
|
49
|
-
const canDisplayOverlay = (event, position) => {
|
|
50
|
-
const data = getPaneData();
|
|
51
|
-
if (data) {
|
|
52
|
-
if (data.paneId !== this.id &&
|
|
53
|
-
data.viewId === this.accessor.id) {
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
const firedEvent = new PaneviewUnhandledDragOverEvent(event, position, getPaneData, this);
|
|
58
|
-
this._onUnhandledDragOver.fire(firedEvent);
|
|
59
|
-
return firedEvent.isAccepted;
|
|
60
|
-
};
|
|
61
|
-
const dropTargetOptions = {
|
|
62
|
-
acceptedTargetZones: ['top', 'bottom'],
|
|
63
|
-
overlayModel: {
|
|
64
|
-
activationSize: { type: 'percentage', value: 50 },
|
|
65
|
-
},
|
|
66
|
-
canDisplayOverlay,
|
|
67
|
-
};
|
|
68
|
-
this.target = html5Backend.createDropTarget(this.element, dropTargetOptions);
|
|
69
|
-
this.pointerTarget = pointerBackend.createDropTarget(this.element, dropTargetOptions);
|
|
70
|
-
this.addDisposables(this._onDidDrop, this.html5DragSource, this.pointerDragSource, this.target, this.pointerTarget, this.target.onDrop((event) => {
|
|
71
|
-
this.onDrop(event);
|
|
72
|
-
}), this.pointerTarget.onDrop((event) => {
|
|
73
|
-
this.onDrop(event);
|
|
74
|
-
}));
|
|
75
|
-
}
|
|
76
|
-
onDrop(event) {
|
|
77
|
-
const data = getPaneData();
|
|
78
|
-
if ((data === null || data === void 0 ? void 0 : data.viewId) !== this.accessor.id) {
|
|
79
|
-
// if there is no local drag event for this panel
|
|
80
|
-
// or if the drag event was creating by another Paneview instance
|
|
81
|
-
this._onDidDrop.fire(Object.assign(Object.assign({}, event), { panel: this, api: new PaneviewApi(this.accessor), getData: getPaneData }));
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
const containerApi = this._params
|
|
85
|
-
.containerApi;
|
|
86
|
-
const panelId = data.paneId;
|
|
87
|
-
const existingPanel = containerApi.getPanel(panelId);
|
|
88
|
-
if (!existingPanel) {
|
|
89
|
-
// if the panel doesn't exist
|
|
90
|
-
this._onDidDrop.fire(Object.assign(Object.assign({}, event), { panel: this, getData: getPaneData, api: new PaneviewApi(this.accessor) }));
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
const allPanels = containerApi.panels;
|
|
94
|
-
const fromIndex = allPanels.indexOf(existingPanel);
|
|
95
|
-
let toIndex = containerApi.panels.indexOf(this);
|
|
96
|
-
if (event.position === 'left' || event.position === 'top') {
|
|
97
|
-
toIndex = Math.max(0, toIndex - 1);
|
|
98
|
-
}
|
|
99
|
-
if (event.position === 'right' || event.position === 'bottom') {
|
|
100
|
-
if (fromIndex > toIndex) {
|
|
101
|
-
toIndex++;
|
|
102
|
-
}
|
|
103
|
-
toIndex = Math.min(allPanels.length - 1, toIndex);
|
|
104
|
-
}
|
|
105
|
-
containerApi.movePanel(fromIndex, toIndex);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { PaneTransfer } from '../dnd/dataTransfer';
|
|
2
|
-
import { Position } from '../dnd/droptarget';
|
|
3
|
-
import { CreateComponentOptions } from '../dockview/options';
|
|
4
|
-
import { AcceptableEvent, IAcceptableEvent } from '../events';
|
|
5
|
-
import { IPanePart, IPaneviewPanel } from './paneviewPanel';
|
|
6
|
-
export interface PaneviewOptions {
|
|
7
|
-
disableAutoResizing?: boolean;
|
|
8
|
-
disableDnd?: boolean;
|
|
9
|
-
className?: string;
|
|
10
|
-
}
|
|
11
|
-
export interface PaneviewFrameworkOptions {
|
|
12
|
-
createComponent: (options: CreateComponentOptions) => IPanePart;
|
|
13
|
-
createHeaderComponent?: (options: CreateComponentOptions) => IPanePart | undefined;
|
|
14
|
-
}
|
|
15
|
-
export type PaneviewComponentOptions = PaneviewOptions & PaneviewFrameworkOptions;
|
|
16
|
-
export declare const PROPERTY_KEYS_PANEVIEW: (keyof PaneviewOptions)[];
|
|
17
|
-
export interface PaneviewDndOverlayEvent extends IAcceptableEvent {
|
|
18
|
-
/** Narrow with `instanceof DragEvent` before reading `dataTransfer`. */
|
|
19
|
-
nativeEvent: DragEvent | PointerEvent;
|
|
20
|
-
position: Position;
|
|
21
|
-
panel: IPaneviewPanel;
|
|
22
|
-
getData: () => PaneTransfer | undefined;
|
|
23
|
-
}
|
|
24
|
-
export declare class PaneviewUnhandledDragOverEvent extends AcceptableEvent implements PaneviewDndOverlayEvent {
|
|
25
|
-
readonly nativeEvent: DragEvent | PointerEvent;
|
|
26
|
-
readonly position: Position;
|
|
27
|
-
readonly getData: () => PaneTransfer | undefined;
|
|
28
|
-
readonly panel: IPaneviewPanel;
|
|
29
|
-
constructor(nativeEvent: DragEvent | PointerEvent, position: Position, getData: () => PaneTransfer | undefined, panel: IPaneviewPanel);
|
|
30
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { AcceptableEvent } from '../events';
|
|
2
|
-
export const PROPERTY_KEYS_PANEVIEW = (() => {
|
|
3
|
-
/**
|
|
4
|
-
* by readong the keys from an empty value object TypeScript will error
|
|
5
|
-
* when we add or remove new properties to `DockviewOptions`
|
|
6
|
-
*/
|
|
7
|
-
const properties = {
|
|
8
|
-
disableAutoResizing: undefined,
|
|
9
|
-
disableDnd: undefined,
|
|
10
|
-
className: undefined,
|
|
11
|
-
};
|
|
12
|
-
return Object.keys(properties);
|
|
13
|
-
})();
|
|
14
|
-
export class PaneviewUnhandledDragOverEvent extends AcceptableEvent {
|
|
15
|
-
constructor(nativeEvent, position, getData, panel) {
|
|
16
|
-
super();
|
|
17
|
-
this.nativeEvent = nativeEvent;
|
|
18
|
-
this.position = position;
|
|
19
|
-
this.getData = getData;
|
|
20
|
-
this.panel = panel;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Orientation, ISplitViewDescriptor, Sizing } from '../splitview/splitview';
|
|
2
|
-
import { CompositeDisposable, IDisposable } from '../lifecycle';
|
|
3
|
-
import { Event } from '../events';
|
|
4
|
-
import { PaneviewPanel } from './paneviewPanel';
|
|
5
|
-
interface PaneItem {
|
|
6
|
-
pane: PaneviewPanel;
|
|
7
|
-
disposable: IDisposable;
|
|
8
|
-
}
|
|
9
|
-
export declare class Paneview extends CompositeDisposable implements IDisposable {
|
|
10
|
-
private readonly element;
|
|
11
|
-
private readonly splitview;
|
|
12
|
-
private paneItems;
|
|
13
|
-
private readonly _orientation;
|
|
14
|
-
private animationTimer;
|
|
15
|
-
private skipAnimation;
|
|
16
|
-
private readonly _onDidChange;
|
|
17
|
-
readonly onDidChange: Event<void>;
|
|
18
|
-
get onDidAddView(): Event<PaneviewPanel>;
|
|
19
|
-
get onDidRemoveView(): Event<PaneviewPanel>;
|
|
20
|
-
get minimumSize(): number;
|
|
21
|
-
get maximumSize(): number;
|
|
22
|
-
get orientation(): Orientation;
|
|
23
|
-
get size(): number;
|
|
24
|
-
get orthogonalSize(): number;
|
|
25
|
-
constructor(container: HTMLElement, options: {
|
|
26
|
-
orientation: Orientation;
|
|
27
|
-
descriptor?: ISplitViewDescriptor;
|
|
28
|
-
});
|
|
29
|
-
setViewVisible(index: number, visible: boolean): void;
|
|
30
|
-
addPane(pane: PaneviewPanel, size?: number | Sizing, index?: number, skipLayout?: boolean): void;
|
|
31
|
-
getViewSize(index: number): number;
|
|
32
|
-
getPanes(): PaneviewPanel[];
|
|
33
|
-
removePane(index: number, options?: {
|
|
34
|
-
skipDispose: boolean;
|
|
35
|
-
}): PaneItem;
|
|
36
|
-
moveView(from: number, to: number): void;
|
|
37
|
-
layout(size: number, orthogonalSize: number): void;
|
|
38
|
-
private setupAnimation;
|
|
39
|
-
dispose(): void;
|
|
40
|
-
}
|
|
41
|
-
export {};
|