igniteui-dockmanager 1.11.3 → 1.12.0-beta.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/CHANGELOG.md +26 -0
- package/dist/cjs/igc-button-component_20.cjs.entry.js +61 -21
- package/dist/cjs/igniteui-dockmanager.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/context-menu/context-menu-component.js +25 -10
- package/dist/collection/components/dockmanager/dockmanager-component.js +28 -10
- package/dist/collection/components/dockmanager/panes/splitter-component.js +20 -1
- package/dist/collection/components/sample-component/sample-component.js +5 -1
- package/dist/esm/igc-button-component_20.entry.js +61 -21
- package/dist/esm/igniteui-dockmanager.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm-es5/igc-button-component_20.entry.js +1 -1
- package/dist/esm-es5/igniteui-dockmanager.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/igniteui-dockmanager/igniteui-dockmanager.esm.js +1 -1
- package/dist/igniteui-dockmanager/p-7c30b111.system.entry.js +1 -0
- package/dist/igniteui-dockmanager/p-a03fdb35.entry.js +1 -0
- package/dist/igniteui-dockmanager/p-f8e35aef.system.js +1 -1
- package/dist/types/components/dockmanager/dockmanager-component.d.ts +1 -0
- package/dist/types/components/dockmanager/dockmanager.service.d.ts +1 -1
- package/dist/types/components/dockmanager/panes/splitter-component.d.ts +1 -1
- package/dist/types/components/sample-component/sample-component.d.ts +1 -0
- package/dist/types/components.d.ts +2 -0
- package/loader/cdn.js +2 -2
- package/loader/index.cjs.js +2 -2
- package/package.json +17 -12
- package/dist/igniteui-dockmanager/p-6137195e.entry.js +0 -1
- package/dist/igniteui-dockmanager/p-e68e23f0.system.entry.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,32 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes for each version of this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## 1.12.0
|
|
6
|
+
|
|
7
|
+
### Bug fixes
|
|
8
|
+
- Docking not working with allowFloating: false [#40](https://github.com/IgniteUI/igniteui-dockmanager/issues/40)
|
|
9
|
+
- Flyout pane closing while active [#41](https://github.com/IgniteUI/igniteui-dockmanager/issues/41)
|
|
10
|
+
- Focusable elements does not receive focus [#42](https://github.com/IgniteUI/igniteui-dockmanager/issues/42)
|
|
11
|
+
- Navigating with pane navigator does not bring selected floating window on top [#48](https://github.com/IgniteUI/igniteui-dockmanager/issues/48)
|
|
12
|
+
- Event `splitterResizeStart` can't be cancelled
|
|
13
|
+
- Tabs context menu not positioning correctly
|
|
14
|
+
|
|
15
|
+
## 1.11.3
|
|
16
|
+
|
|
17
|
+
### New features
|
|
18
|
+
- Add `contextMenuPosition` property
|
|
19
|
+
- Add `selected` option for `tab-header-close-button` CSS part
|
|
20
|
+
|
|
21
|
+
## 1.11.2
|
|
22
|
+
|
|
23
|
+
### New features
|
|
24
|
+
- Add `hovered` option for `tab-header-close-button` CSS part
|
|
25
|
+
|
|
26
|
+
## 1.11.1
|
|
27
|
+
|
|
28
|
+
### Bug fixes
|
|
29
|
+
- CSS part fixes for `tab-header`
|
|
30
|
+
|
|
5
31
|
## 1.11.0
|
|
6
32
|
|
|
7
33
|
### New features
|
|
@@ -158,15 +158,29 @@ let IgcContextMenuComponent = class {
|
|
|
158
158
|
componentDidLoad() {
|
|
159
159
|
const menuItemsDivRect = this.menuItemsDiv.getBoundingClientRect();
|
|
160
160
|
const hostRect = this.elem.getBoundingClientRect();
|
|
161
|
-
const
|
|
162
|
-
const
|
|
163
|
-
const
|
|
164
|
-
const
|
|
165
|
-
const
|
|
166
|
-
const
|
|
167
|
-
const
|
|
161
|
+
const rootNodeShadowHost = this.target.getRootNode();
|
|
162
|
+
const rootHostRect = rootNodeShadowHost.host.getBoundingClientRect();
|
|
163
|
+
const isTabs = rootNodeShadowHost.host.tagName.toLowerCase() === 'igc-tab-header-component';
|
|
164
|
+
const tabsContentHost = isTabs ? rootNodeShadowHost.host.parentElement.shadowRoot : rootNodeShadowHost;
|
|
165
|
+
const tabRect = tabsContentHost.host.getBoundingClientRect();
|
|
166
|
+
const tabsContentRect = tabsContentHost.querySelector('div[part~="tabs-content"]').getBoundingClientRect();
|
|
167
|
+
const tabStripArea = tabsContentHost.querySelector('div[part~="tab-strip-area"]').getBoundingClientRect();
|
|
168
|
+
const isRTL = rootHostRect.right - menuItemsDivRect.right <= 0;
|
|
169
|
+
const shouldChangeOpenOrientation = tabRect.bottom + menuItemsDivRect.height >= window.innerHeight
|
|
170
|
+
|| tabRect.height + menuItemsDivRect.height >= window.innerHeight;
|
|
171
|
+
const menuToBottom = shouldChangeOpenOrientation
|
|
172
|
+
? tabsContentRect.top + (tabsContentRect.height - menuItemsDivRect.bottom)
|
|
173
|
+
: rootHostRect.top - menuItemsDivRect.top + rootHostRect.height;
|
|
174
|
+
const menuToTop = tabStripArea.height + (menuItemsDivRect.top - rootHostRect.top);
|
|
175
|
+
const menuToStart = isRTL ? rootHostRect.right - menuItemsDivRect.width : rootHostRect.left;
|
|
176
|
+
const menuToEnd = isRTL ? rootHostRect.left : rootHostRect.right - menuItemsDivRect.width;
|
|
177
|
+
const menuToCenter = rootHostRect.left + (rootHostRect.width - menuItemsDivRect.width) / 2;
|
|
168
178
|
let menuLeft = !isRTL ? menuToStart : menuToEnd;
|
|
169
|
-
let menuTop = this.orientation === IgcContextMenuOrientation.bottom
|
|
179
|
+
let menuTop = this.orientation === IgcContextMenuOrientation.bottom
|
|
180
|
+
? isTabs
|
|
181
|
+
? menuToBottom
|
|
182
|
+
: menuToTop
|
|
183
|
+
: menuToBottom;
|
|
170
184
|
const menuBottom = menuTop + menuItemsDivRect.height;
|
|
171
185
|
menuTop = menuTop >= 0 ? menuTop : menuToBottom;
|
|
172
186
|
switch (this.position) {
|
|
@@ -174,10 +188,10 @@ let IgcContextMenuComponent = class {
|
|
|
174
188
|
menuLeft = menuToStart;
|
|
175
189
|
break;
|
|
176
190
|
case 'center':
|
|
177
|
-
menuLeft =
|
|
191
|
+
menuLeft = rootHostRect.width > menuItemsDivRect.width && menuToCenter;
|
|
178
192
|
break;
|
|
179
193
|
case 'stretch':
|
|
180
|
-
this.menuItemsDiv.style.width =
|
|
194
|
+
this.menuItemsDiv.style.width = rootHostRect.width > menuItemsDivRect.width && `${rootHostRect.width}px`;
|
|
181
195
|
break;
|
|
182
196
|
case 'end':
|
|
183
197
|
default:
|
|
@@ -186,6 +200,7 @@ let IgcContextMenuComponent = class {
|
|
|
186
200
|
if (this.orientation === IgcContextMenuOrientation.bottom && menuBottom > hostRect.height) {
|
|
187
201
|
menuTop = menuToTop;
|
|
188
202
|
}
|
|
203
|
+
menuLeft = menuLeft - menuItemsDivRect.left;
|
|
189
204
|
this.menuItemsDiv.style.left = `${menuLeft}px`;
|
|
190
205
|
this.menuItemsDiv.style.top = `${menuTop}px`;
|
|
191
206
|
this.menuItemsDiv.style.visibility = 'visible';
|
|
@@ -1794,6 +1809,7 @@ let IgcDockManager = class {
|
|
|
1794
1809
|
this.scheduledCallbacks = [];
|
|
1795
1810
|
this.shouldClearActivePane = true;
|
|
1796
1811
|
this.isDragging = false;
|
|
1812
|
+
this.splitterOffset = 1;
|
|
1797
1813
|
this.templatableComponents = [
|
|
1798
1814
|
{
|
|
1799
1815
|
slot: 'paneHeaderCloseButton',
|
|
@@ -1970,9 +1986,7 @@ let IgcDockManager = class {
|
|
|
1970
1986
|
activePaneChange(newValue, oldValue) {
|
|
1971
1987
|
var _a;
|
|
1972
1988
|
const args = { newPane: newValue, oldPane: oldValue };
|
|
1973
|
-
if (this.flyoutPane &&
|
|
1974
|
-
newValue !== this.flyoutPane &&
|
|
1975
|
-
(!newValue || newValue.isPinned !== false || this.activePaneInternalSet)) {
|
|
1989
|
+
if (this.flyoutPane && newValue && newValue !== this.flyoutPane) {
|
|
1976
1990
|
this.service.flyoutPane(this.flyoutPane);
|
|
1977
1991
|
}
|
|
1978
1992
|
this.activePaneChanged.emit(args);
|
|
@@ -2239,8 +2253,17 @@ let IgcDockManager = class {
|
|
|
2239
2253
|
this.service.resizeFlyoutPane(event.detail);
|
|
2240
2254
|
this.splitterResizeEnd.emit();
|
|
2241
2255
|
}
|
|
2242
|
-
handleSplitterResizeStart() {
|
|
2243
|
-
|
|
2256
|
+
handleSplitterResizeStart(event) {
|
|
2257
|
+
const splitter = event.target;
|
|
2258
|
+
const resizeStartEvent = this.splitterResizeStart.emit();
|
|
2259
|
+
if (resizeStartEvent.defaultPrevented) {
|
|
2260
|
+
this.splitterOffset = 0;
|
|
2261
|
+
splitter.showDragGhost = false;
|
|
2262
|
+
}
|
|
2263
|
+
else {
|
|
2264
|
+
this.splitterOffset = 1;
|
|
2265
|
+
splitter.showDragGhost = true;
|
|
2266
|
+
}
|
|
2244
2267
|
}
|
|
2245
2268
|
handleSplitterResizeEnd(parentPane, pane, event) {
|
|
2246
2269
|
const splitter = event.target;
|
|
@@ -2249,7 +2272,7 @@ let IgcDockManager = class {
|
|
|
2249
2272
|
const paneComponents = splitPaneChildren.filter(c => c.tagName.toLowerCase() !== 'igc-splitter-component');
|
|
2250
2273
|
const sizeProperty = parentPane.orientation === locale.IgcSplitPaneOrientation.horizontal ? 'offsetWidth' : 'offsetHeight';
|
|
2251
2274
|
const sizeSum = paneComponents.reduce((s, p) => p[sizeProperty] + s, 0);
|
|
2252
|
-
let offsetPercentage = event.detail / sizeSum;
|
|
2275
|
+
let offsetPercentage = this.splitterOffset * event.detail / sizeSum;
|
|
2253
2276
|
let rtl = false;
|
|
2254
2277
|
if (this.element.dir !== '') {
|
|
2255
2278
|
rtl = this.element.dir === 'rtl';
|
|
@@ -2531,8 +2554,10 @@ let IgcDockManager = class {
|
|
|
2531
2554
|
if ((!this.dropTargetPaneInfo || this.dropTargetPaneInfo.pane !== dropPane) && dropPane !== this.draggedPane) {
|
|
2532
2555
|
const docHost = this.service.getDocHostParent(dropPane);
|
|
2533
2556
|
const dropPaneRoot = this.service.getRootParent(dropPane);
|
|
2534
|
-
const floatingPaneWithoutDocHost = this.layout.floatingPanes
|
|
2535
|
-
|
|
2557
|
+
const floatingPaneWithoutDocHost = this.layout.floatingPanes
|
|
2558
|
+
? this.layout.floatingPanes.indexOf(dropPaneRoot) !== -1 &&
|
|
2559
|
+
!this.service.getChildDocHostRecursive(dropPaneRoot)
|
|
2560
|
+
: false;
|
|
2536
2561
|
if (!this.documentOnlyDrag
|
|
2537
2562
|
|| docHost
|
|
2538
2563
|
|| floatingPaneWithoutDocHost
|
|
@@ -2628,8 +2653,11 @@ let IgcDockManager = class {
|
|
|
2628
2653
|
if (!targetPane) {
|
|
2629
2654
|
targetPane = pane.panes[0];
|
|
2630
2655
|
}
|
|
2631
|
-
|
|
2632
|
-
|
|
2656
|
+
const nodeName = event.target.nodeName.toLowerCase();
|
|
2657
|
+
if (nodeName === 'igc-dockmanager') {
|
|
2658
|
+
this.setActivePane(targetPane);
|
|
2659
|
+
this.setFocus(targetPane);
|
|
2660
|
+
}
|
|
2633
2661
|
this.contentPaneId = targetPane.contentId;
|
|
2634
2662
|
});
|
|
2635
2663
|
}
|
|
@@ -2914,6 +2942,11 @@ let IgcDockManager = class {
|
|
|
2914
2942
|
}
|
|
2915
2943
|
handlePaneNavigatorClosed(ev) {
|
|
2916
2944
|
this.service.normalizeMaximizedPane(ev.detail);
|
|
2945
|
+
const parent = this.service.getRootParent(ev.detail);
|
|
2946
|
+
const isParentFloating = this.service.isFloatingPane(parent);
|
|
2947
|
+
if (isParentFloating) {
|
|
2948
|
+
this.service.bringFloatingPaneOnTop(parent);
|
|
2949
|
+
}
|
|
2917
2950
|
if (ev.detail && this.activePane !== ev.detail) {
|
|
2918
2951
|
this.activePane = ev.detail;
|
|
2919
2952
|
}
|
|
@@ -3726,6 +3759,9 @@ let IgcSplitterComponent = class {
|
|
|
3726
3759
|
this.dragEndHelper();
|
|
3727
3760
|
};
|
|
3728
3761
|
this.dragMove = (args) => {
|
|
3762
|
+
if (!this.ghostElement) {
|
|
3763
|
+
return;
|
|
3764
|
+
}
|
|
3729
3765
|
const rect = this.ghostElement.getBoundingClientRect();
|
|
3730
3766
|
const isHorizontal = this.splitPaneOrientation === locale.IgcSplitPaneOrientation.horizontal;
|
|
3731
3767
|
const clientCoordinate = isHorizontal ? args.clientX : args.clientY;
|
|
@@ -4814,6 +4850,10 @@ let SampleComponent = class {
|
|
|
4814
4850
|
handleDragEnd(event) {
|
|
4815
4851
|
this.log(event);
|
|
4816
4852
|
}
|
|
4853
|
+
handleSplitterResizeStart(event) {
|
|
4854
|
+
this.log(event, Object.assign({}, event.detail));
|
|
4855
|
+
// event.preventDefault();
|
|
4856
|
+
}
|
|
4817
4857
|
handleFloatingPaneResizeStart(event) {
|
|
4818
4858
|
this.log(event, Object.assign({}, event.detail));
|
|
4819
4859
|
// event.preventDefault();
|
|
@@ -4846,7 +4886,7 @@ let SampleComponent = class {
|
|
|
4846
4886
|
render() {
|
|
4847
4887
|
return (index.h(index.Host, null, index.h("div", null, index.h("button", { onClick: () => this.saveLayout() }, "Save Layout"), index.h("button", { onClick: () => this.loadLayout() }, "Load Layout"), index.h("button", { onClick: () => this.setActivePane() }, "Set Active Pane"), index.h("button", { onClick: () => this.addPane() }, "Add Floating Pane"), index.h("button", { onClick: () => this.addTab() }, "Add Tab Pane"), index.h("button", { onClick: () => this.disableContentPane() }, "Disable Tab Pane"), index.h("input", { id: "hideOnClose", type: "checkbox", style: { marginLeft: '20px' }, ref: el => this.hideOnCloseCheckbox = el }), index.h("label", { htmlFor: "hideOnClose" }, "Hide on close"), index.h("span", { style: { marginLeft: '20px' } }, "Hidden Panes:"), index.h("select", { style: { width: '150px' }, ref: el => this.hiddenPanesSelect = el }, this.hiddenPanes.map(p => {
|
|
4848
4888
|
return (index.h("option", { value: p.id }, p.header));
|
|
4849
|
-
})), index.h("button", { onClick: () => this.showPane() }, "Show Pane"), index.h("button", { onClick: () => this.showAllPanes() }, "Show All Panes")), index.h("igc-dockmanager", { layout: this.layout, onPaneClose: this.handlePaneClose.bind(this), onPanePinnedToggle: this.handlePinnedToggle.bind(this), onActivePaneChanged: this.handleActivePaneChanged.bind(this), onPaneDragStart: this.handleDragStart.bind(this), onPaneDragOver: this.handleDragOver.bind(this), onPaneDragEnd: this.handleDragEnd.bind(this), onFloatingPaneResizeStart: this.handleFloatingPaneResizeStart.bind(this), onFloatingPaneResizeMove: this.handleFloatingPaneResizeMove.bind(this), onFloatingPaneResizeEnd: this.handleFloatingPaneResizeEnd.bind(this), onLayoutChange: this.handleLayoutChange.bind(this),
|
|
4889
|
+
})), index.h("button", { onClick: () => this.showPane() }, "Show Pane"), index.h("button", { onClick: () => this.showAllPanes() }, "Show All Panes")), index.h("igc-dockmanager", { layout: this.layout, onPaneClose: this.handlePaneClose.bind(this), onPanePinnedToggle: this.handlePinnedToggle.bind(this), onActivePaneChanged: this.handleActivePaneChanged.bind(this), onPaneDragStart: this.handleDragStart.bind(this), onPaneDragOver: this.handleDragOver.bind(this), onPaneDragEnd: this.handleDragEnd.bind(this), onSplitterResizeStart: this.handleSplitterResizeStart.bind(this), onFloatingPaneResizeStart: this.handleFloatingPaneResizeStart.bind(this), onFloatingPaneResizeMove: this.handleFloatingPaneResizeMove.bind(this), onFloatingPaneResizeEnd: this.handleFloatingPaneResizeEnd.bind(this), onLayoutChange: this.handleLayoutChange.bind(this),
|
|
4850
4890
|
// resourceStrings={this.getCustomResourceStrings()}
|
|
4851
4891
|
ref: el => this.dockManager = el,
|
|
4852
4892
|
// allowFloatingPanesResize={false}
|
|
@@ -15,5 +15,5 @@ const patchBrowser = () => {
|
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
patchBrowser().then(options => {
|
|
18
|
-
return index.bootstrapLazy([["igc-button-component_20.cjs",[[2,"sample-component",{"hiddenPanes":[1040]}],[1,"igc-dockmanager",{"navigationPaneMeta":[1040],"allowMaximize":[4,"allow-maximize"],"showHeaderIconOnHover":[1,"show-header-icon-on-hover"],"maximizedPane":[1040],"resourceStrings":[1040],"allowFloatingPanesResize":[4,"allow-floating-panes-resize"],"disableKeyboardNavigation":[4,"disable-keyboard-navigation"],"contextMenuPosition":[1,"context-menu-position"],"layout":[1040],"draggedPane":[1040],"dropPosition":[16],"activePane":[1040],"dropTargetPaneInfo":[32],"flyoutPane":[32],"floatingPaneZIndicesMap":[32],"contextMenuMeta":[32],"dropShadowRect":[32],"templates":[32],"hasCustomMaximizeButton":[32],"hasCustomMinimizeButton":[32],"dropPane":[64],"removePane":[64]},[[0,"focusout","handleFocusOut"],[0,"keydown","handleKeyDown"],[1,"pointerdown","handlePointerDown"],[1,"pointerup","handlePointerUp"]]],[1,"igc-tabs-component",{"size":[2],"maximized":[4],"allowMaximize":[4,"allow-maximize"],"tabHeadersPosition":[1,"tab-headers-position"],"selectedIndex":[1026,"selected-index"],"hasHeaders":[4,"has-headers"],"showHiddenTabsMenu":[4,"show-hidden-tabs-menu"],"resourceStrings":[16],"hiddenTabsMenuMeta":[32],"hasHiddenTabs":[32]},[[0,"tabMouseDown","handleTabMouseDown"]]],[2,"igc-joystick-indicator-component",{"dropTargetPaneInfo":[16],"documentOnlyDrag":[4,"document-only-drag"]}],[1,"igc-pane-header-component",{"dragService":[1040],"pinned":[4],"maximized":[4],"isFloating":[4,"is-floating"],"forcedDrag":[4,"forced-drag"],"isFloatingPaneHeader":[4,"is-floating-pane-header"],"allowClose":[4,"allow-close"],"allowMaximize":[4,"allow-maximize"],"allowPinning":[4,"allow-pinning"],"pane":[16],"isActive":[4,"is-active"],"disabled":[4],"resourceStrings":[16]}],[1,"igc-tab-header-component",{"dragService":[1040],"selected":[4],"hovered":[4],"position":[1],"iconName":[1,"icon-name"],"header":[1],"isActive":[4,"is-active"],"resourceStrings":[16],"forcedDrag":[4,"forced-drag"],"disabled":[4],"showHeaderIconOnHover":[1,"show-header-icon-on-hover"]},[[1,"mousedown","handleMouseDown"],[1,"mouseenter","handleMouseEnter"],[1,"mouseleave","handleMouseLeave"]]],[1,"igc-floating-pane-component",{"allowResize":[4,"allow-resize"],"floatingLocation":[16],"floatingWidth":[2,"floating-width"],"floatingHeight":[2,"floating-height"],"hasHeader":[4,"has-header"],"maximized":[4],"floatingMinHeight":[2,"floating-min-height"],"floatingMinWidth":[2,"floating-min-width"],"floatingId":[1,"floating-id"]}],[2,"igc-root-docking-indicator-component",{"position":[1]}],[1,"igc-content-pane-component",{"size":[2],"isFlyout":[4,"is-flyout"],"unpinnedSize":[2,"unpinned-size"],"header":[1],"disabled":[4],"isSingleFloating":[4,"is-single-floating"]}],[2,"igc-document-host-component",{"size":[2]}],[1,"igc-pane-navigator-component",{"activeDocuments":[16],"activePanes":[16],"selectedIndex":[1026,"selected-index"],"previousActivePaneIndex":[2,"previous-active-pane-index"],"resourceStrings":[16]},[[0,"keyup","handleKeyUp"],[0,"keydown","handleKeydown"]]],[2,"igc-split-pane-component",{"orientation":[1],"size":[2]}],[1,"igc-splitter-component",{"splitPaneOrientation":[1,"split-pane-orientation"],"flyoutLocation":[1,"flyout-location"],"
|
|
18
|
+
return index.bootstrapLazy([["igc-button-component_20.cjs",[[2,"sample-component",{"hiddenPanes":[1040]}],[1,"igc-dockmanager",{"navigationPaneMeta":[1040],"allowMaximize":[4,"allow-maximize"],"showHeaderIconOnHover":[1,"show-header-icon-on-hover"],"maximizedPane":[1040],"resourceStrings":[1040],"allowFloatingPanesResize":[4,"allow-floating-panes-resize"],"disableKeyboardNavigation":[4,"disable-keyboard-navigation"],"contextMenuPosition":[1,"context-menu-position"],"layout":[1040],"draggedPane":[1040],"dropPosition":[16],"activePane":[1040],"dropTargetPaneInfo":[32],"flyoutPane":[32],"floatingPaneZIndicesMap":[32],"contextMenuMeta":[32],"dropShadowRect":[32],"templates":[32],"hasCustomMaximizeButton":[32],"hasCustomMinimizeButton":[32],"dropPane":[64],"removePane":[64]},[[0,"focusout","handleFocusOut"],[0,"keydown","handleKeyDown"],[1,"pointerdown","handlePointerDown"],[1,"pointerup","handlePointerUp"]]],[1,"igc-tabs-component",{"size":[2],"maximized":[4],"allowMaximize":[4,"allow-maximize"],"tabHeadersPosition":[1,"tab-headers-position"],"selectedIndex":[1026,"selected-index"],"hasHeaders":[4,"has-headers"],"showHiddenTabsMenu":[4,"show-hidden-tabs-menu"],"resourceStrings":[16],"hiddenTabsMenuMeta":[32],"hasHiddenTabs":[32]},[[0,"tabMouseDown","handleTabMouseDown"]]],[2,"igc-joystick-indicator-component",{"dropTargetPaneInfo":[16],"documentOnlyDrag":[4,"document-only-drag"]}],[1,"igc-pane-header-component",{"dragService":[1040],"pinned":[4],"maximized":[4],"isFloating":[4,"is-floating"],"forcedDrag":[4,"forced-drag"],"isFloatingPaneHeader":[4,"is-floating-pane-header"],"allowClose":[4,"allow-close"],"allowMaximize":[4,"allow-maximize"],"allowPinning":[4,"allow-pinning"],"pane":[16],"isActive":[4,"is-active"],"disabled":[4],"resourceStrings":[16]}],[1,"igc-tab-header-component",{"dragService":[1040],"selected":[4],"hovered":[4],"position":[1],"iconName":[1,"icon-name"],"header":[1],"isActive":[4,"is-active"],"resourceStrings":[16],"forcedDrag":[4,"forced-drag"],"disabled":[4],"showHeaderIconOnHover":[1,"show-header-icon-on-hover"]},[[1,"mousedown","handleMouseDown"],[1,"mouseenter","handleMouseEnter"],[1,"mouseleave","handleMouseLeave"]]],[1,"igc-floating-pane-component",{"allowResize":[4,"allow-resize"],"floatingLocation":[16],"floatingWidth":[2,"floating-width"],"floatingHeight":[2,"floating-height"],"hasHeader":[4,"has-header"],"maximized":[4],"floatingMinHeight":[2,"floating-min-height"],"floatingMinWidth":[2,"floating-min-width"],"floatingId":[1,"floating-id"]}],[2,"igc-root-docking-indicator-component",{"position":[1]}],[1,"igc-content-pane-component",{"size":[2],"isFlyout":[4,"is-flyout"],"unpinnedSize":[2,"unpinned-size"],"header":[1],"disabled":[4],"isSingleFloating":[4,"is-single-floating"]}],[2,"igc-document-host-component",{"size":[2]}],[1,"igc-pane-navigator-component",{"activeDocuments":[16],"activePanes":[16],"selectedIndex":[1026,"selected-index"],"previousActivePaneIndex":[2,"previous-active-pane-index"],"resourceStrings":[16]},[[0,"keyup","handleKeyUp"],[0,"keydown","handleKeydown"]]],[2,"igc-split-pane-component",{"orientation":[1],"size":[2]}],[1,"igc-splitter-component",{"showDragGhost":[4,"show-drag-ghost"],"splitPaneOrientation":[1,"split-pane-orientation"],"flyoutLocation":[1,"flyout-location"],"dragOffset":[32],"hasCustomSplitterHandle":[32]},[[0,"keydown","handleKeydownEvent"],[1,"mousedown","handleMouseDown"]]],[1,"igc-tab-panel-component",{"selected":[4],"disabled":[4]}],[1,"igc-unpinned-pane-header-component",{"location":[1],"isActive":[4,"is-active"],"disabled":[4]}],[1,"igc-context-menu-component",{"orientation":[1],"position":[1],"target":[16],"items":[16],"activeIndex":[1026,"active-index"]},[[0,"focusout","emitMenuClosed"]]],[2,"igc-joystick-icon-component",{"isDocHost":[4,"is-doc-host"],"position":[1],"empty":[4]}],[2,"igc-resizer-component",{"orientation":[1],"dragOffsetX":[32],"dragOffsetY":[32]}],[1,"igc-button-component",{"disabled":[4],"name":[513],"type":[513],"value":[513]}],[2,"igc-icon-component",{"name":[1]}]]]], options);
|
|
19
19
|
});
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -14,7 +14,7 @@ const patchEsm = () => {
|
|
|
14
14
|
const defineCustomElements = (win, options) => {
|
|
15
15
|
if (typeof window === 'undefined') return Promise.resolve();
|
|
16
16
|
return patchEsm().then(() => {
|
|
17
|
-
return index.bootstrapLazy([["igc-button-component_20.cjs",[[2,"sample-component",{"hiddenPanes":[1040]}],[1,"igc-dockmanager",{"navigationPaneMeta":[1040],"allowMaximize":[4,"allow-maximize"],"showHeaderIconOnHover":[1,"show-header-icon-on-hover"],"maximizedPane":[1040],"resourceStrings":[1040],"allowFloatingPanesResize":[4,"allow-floating-panes-resize"],"disableKeyboardNavigation":[4,"disable-keyboard-navigation"],"contextMenuPosition":[1,"context-menu-position"],"layout":[1040],"draggedPane":[1040],"dropPosition":[16],"activePane":[1040],"dropTargetPaneInfo":[32],"flyoutPane":[32],"floatingPaneZIndicesMap":[32],"contextMenuMeta":[32],"dropShadowRect":[32],"templates":[32],"hasCustomMaximizeButton":[32],"hasCustomMinimizeButton":[32],"dropPane":[64],"removePane":[64]},[[0,"focusout","handleFocusOut"],[0,"keydown","handleKeyDown"],[1,"pointerdown","handlePointerDown"],[1,"pointerup","handlePointerUp"]]],[1,"igc-tabs-component",{"size":[2],"maximized":[4],"allowMaximize":[4,"allow-maximize"],"tabHeadersPosition":[1,"tab-headers-position"],"selectedIndex":[1026,"selected-index"],"hasHeaders":[4,"has-headers"],"showHiddenTabsMenu":[4,"show-hidden-tabs-menu"],"resourceStrings":[16],"hiddenTabsMenuMeta":[32],"hasHiddenTabs":[32]},[[0,"tabMouseDown","handleTabMouseDown"]]],[2,"igc-joystick-indicator-component",{"dropTargetPaneInfo":[16],"documentOnlyDrag":[4,"document-only-drag"]}],[1,"igc-pane-header-component",{"dragService":[1040],"pinned":[4],"maximized":[4],"isFloating":[4,"is-floating"],"forcedDrag":[4,"forced-drag"],"isFloatingPaneHeader":[4,"is-floating-pane-header"],"allowClose":[4,"allow-close"],"allowMaximize":[4,"allow-maximize"],"allowPinning":[4,"allow-pinning"],"pane":[16],"isActive":[4,"is-active"],"disabled":[4],"resourceStrings":[16]}],[1,"igc-tab-header-component",{"dragService":[1040],"selected":[4],"hovered":[4],"position":[1],"iconName":[1,"icon-name"],"header":[1],"isActive":[4,"is-active"],"resourceStrings":[16],"forcedDrag":[4,"forced-drag"],"disabled":[4],"showHeaderIconOnHover":[1,"show-header-icon-on-hover"]},[[1,"mousedown","handleMouseDown"],[1,"mouseenter","handleMouseEnter"],[1,"mouseleave","handleMouseLeave"]]],[1,"igc-floating-pane-component",{"allowResize":[4,"allow-resize"],"floatingLocation":[16],"floatingWidth":[2,"floating-width"],"floatingHeight":[2,"floating-height"],"hasHeader":[4,"has-header"],"maximized":[4],"floatingMinHeight":[2,"floating-min-height"],"floatingMinWidth":[2,"floating-min-width"],"floatingId":[1,"floating-id"]}],[2,"igc-root-docking-indicator-component",{"position":[1]}],[1,"igc-content-pane-component",{"size":[2],"isFlyout":[4,"is-flyout"],"unpinnedSize":[2,"unpinned-size"],"header":[1],"disabled":[4],"isSingleFloating":[4,"is-single-floating"]}],[2,"igc-document-host-component",{"size":[2]}],[1,"igc-pane-navigator-component",{"activeDocuments":[16],"activePanes":[16],"selectedIndex":[1026,"selected-index"],"previousActivePaneIndex":[2,"previous-active-pane-index"],"resourceStrings":[16]},[[0,"keyup","handleKeyUp"],[0,"keydown","handleKeydown"]]],[2,"igc-split-pane-component",{"orientation":[1],"size":[2]}],[1,"igc-splitter-component",{"splitPaneOrientation":[1,"split-pane-orientation"],"flyoutLocation":[1,"flyout-location"],"
|
|
17
|
+
return index.bootstrapLazy([["igc-button-component_20.cjs",[[2,"sample-component",{"hiddenPanes":[1040]}],[1,"igc-dockmanager",{"navigationPaneMeta":[1040],"allowMaximize":[4,"allow-maximize"],"showHeaderIconOnHover":[1,"show-header-icon-on-hover"],"maximizedPane":[1040],"resourceStrings":[1040],"allowFloatingPanesResize":[4,"allow-floating-panes-resize"],"disableKeyboardNavigation":[4,"disable-keyboard-navigation"],"contextMenuPosition":[1,"context-menu-position"],"layout":[1040],"draggedPane":[1040],"dropPosition":[16],"activePane":[1040],"dropTargetPaneInfo":[32],"flyoutPane":[32],"floatingPaneZIndicesMap":[32],"contextMenuMeta":[32],"dropShadowRect":[32],"templates":[32],"hasCustomMaximizeButton":[32],"hasCustomMinimizeButton":[32],"dropPane":[64],"removePane":[64]},[[0,"focusout","handleFocusOut"],[0,"keydown","handleKeyDown"],[1,"pointerdown","handlePointerDown"],[1,"pointerup","handlePointerUp"]]],[1,"igc-tabs-component",{"size":[2],"maximized":[4],"allowMaximize":[4,"allow-maximize"],"tabHeadersPosition":[1,"tab-headers-position"],"selectedIndex":[1026,"selected-index"],"hasHeaders":[4,"has-headers"],"showHiddenTabsMenu":[4,"show-hidden-tabs-menu"],"resourceStrings":[16],"hiddenTabsMenuMeta":[32],"hasHiddenTabs":[32]},[[0,"tabMouseDown","handleTabMouseDown"]]],[2,"igc-joystick-indicator-component",{"dropTargetPaneInfo":[16],"documentOnlyDrag":[4,"document-only-drag"]}],[1,"igc-pane-header-component",{"dragService":[1040],"pinned":[4],"maximized":[4],"isFloating":[4,"is-floating"],"forcedDrag":[4,"forced-drag"],"isFloatingPaneHeader":[4,"is-floating-pane-header"],"allowClose":[4,"allow-close"],"allowMaximize":[4,"allow-maximize"],"allowPinning":[4,"allow-pinning"],"pane":[16],"isActive":[4,"is-active"],"disabled":[4],"resourceStrings":[16]}],[1,"igc-tab-header-component",{"dragService":[1040],"selected":[4],"hovered":[4],"position":[1],"iconName":[1,"icon-name"],"header":[1],"isActive":[4,"is-active"],"resourceStrings":[16],"forcedDrag":[4,"forced-drag"],"disabled":[4],"showHeaderIconOnHover":[1,"show-header-icon-on-hover"]},[[1,"mousedown","handleMouseDown"],[1,"mouseenter","handleMouseEnter"],[1,"mouseleave","handleMouseLeave"]]],[1,"igc-floating-pane-component",{"allowResize":[4,"allow-resize"],"floatingLocation":[16],"floatingWidth":[2,"floating-width"],"floatingHeight":[2,"floating-height"],"hasHeader":[4,"has-header"],"maximized":[4],"floatingMinHeight":[2,"floating-min-height"],"floatingMinWidth":[2,"floating-min-width"],"floatingId":[1,"floating-id"]}],[2,"igc-root-docking-indicator-component",{"position":[1]}],[1,"igc-content-pane-component",{"size":[2],"isFlyout":[4,"is-flyout"],"unpinnedSize":[2,"unpinned-size"],"header":[1],"disabled":[4],"isSingleFloating":[4,"is-single-floating"]}],[2,"igc-document-host-component",{"size":[2]}],[1,"igc-pane-navigator-component",{"activeDocuments":[16],"activePanes":[16],"selectedIndex":[1026,"selected-index"],"previousActivePaneIndex":[2,"previous-active-pane-index"],"resourceStrings":[16]},[[0,"keyup","handleKeyUp"],[0,"keydown","handleKeydown"]]],[2,"igc-split-pane-component",{"orientation":[1],"size":[2]}],[1,"igc-splitter-component",{"showDragGhost":[4,"show-drag-ghost"],"splitPaneOrientation":[1,"split-pane-orientation"],"flyoutLocation":[1,"flyout-location"],"dragOffset":[32],"hasCustomSplitterHandle":[32]},[[0,"keydown","handleKeydownEvent"],[1,"mousedown","handleMouseDown"]]],[1,"igc-tab-panel-component",{"selected":[4],"disabled":[4]}],[1,"igc-unpinned-pane-header-component",{"location":[1],"isActive":[4,"is-active"],"disabled":[4]}],[1,"igc-context-menu-component",{"orientation":[1],"position":[1],"target":[16],"items":[16],"activeIndex":[1026,"active-index"]},[[0,"focusout","emitMenuClosed"]]],[2,"igc-joystick-icon-component",{"isDocHost":[4,"is-doc-host"],"position":[1],"empty":[4]}],[2,"igc-resizer-component",{"orientation":[1],"dragOffsetX":[32],"dragOffsetY":[32]}],[1,"igc-button-component",{"disabled":[4],"name":[513],"type":[513],"value":[513]}],[2,"igc-icon-component",{"name":[1]}]]]], options);
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"entries": [
|
|
3
3
|
"./components/button/button-component.js",
|
|
4
4
|
"./components/context-menu/context-menu-component.js",
|
|
5
|
+
"./components/dockmanager/panes/splitter-component.js",
|
|
5
6
|
"./components/dockmanager/dockmanager-component.js",
|
|
6
7
|
"./components/dockmanager/docking/joystick-icon-component.js",
|
|
7
8
|
"./components/dockmanager/docking/joystick-indicator-component.js",
|
|
@@ -13,7 +14,6 @@
|
|
|
13
14
|
"./components/dockmanager/panes/pane-header-component.js",
|
|
14
15
|
"./components/dockmanager/panes/resizer-component.js",
|
|
15
16
|
"./components/dockmanager/panes/split-pane-component.js",
|
|
16
|
-
"./components/dockmanager/panes/splitter-component.js",
|
|
17
17
|
"./components/dockmanager/panes/unpinned-pane-header-component.js",
|
|
18
18
|
"./components/icon/icon-component.js",
|
|
19
19
|
"./components/sample-component/sample-component.js",
|
|
@@ -31,15 +31,29 @@ export class IgcContextMenuComponent {
|
|
|
31
31
|
componentDidLoad() {
|
|
32
32
|
const menuItemsDivRect = this.menuItemsDiv.getBoundingClientRect();
|
|
33
33
|
const hostRect = this.elem.getBoundingClientRect();
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
const
|
|
34
|
+
const rootNodeShadowHost = this.target.getRootNode();
|
|
35
|
+
const rootHostRect = rootNodeShadowHost.host.getBoundingClientRect();
|
|
36
|
+
const isTabs = rootNodeShadowHost.host.tagName.toLowerCase() === 'igc-tab-header-component';
|
|
37
|
+
const tabsContentHost = isTabs ? rootNodeShadowHost.host.parentElement.shadowRoot : rootNodeShadowHost;
|
|
38
|
+
const tabRect = tabsContentHost.host.getBoundingClientRect();
|
|
39
|
+
const tabsContentRect = tabsContentHost.querySelector('div[part~="tabs-content"]').getBoundingClientRect();
|
|
40
|
+
const tabStripArea = tabsContentHost.querySelector('div[part~="tab-strip-area"]').getBoundingClientRect();
|
|
41
|
+
const isRTL = rootHostRect.right - menuItemsDivRect.right <= 0;
|
|
42
|
+
const shouldChangeOpenOrientation = tabRect.bottom + menuItemsDivRect.height >= window.innerHeight
|
|
43
|
+
|| tabRect.height + menuItemsDivRect.height >= window.innerHeight;
|
|
44
|
+
const menuToBottom = shouldChangeOpenOrientation
|
|
45
|
+
? tabsContentRect.top + (tabsContentRect.height - menuItemsDivRect.bottom)
|
|
46
|
+
: rootHostRect.top - menuItemsDivRect.top + rootHostRect.height;
|
|
47
|
+
const menuToTop = tabStripArea.height + (menuItemsDivRect.top - rootHostRect.top);
|
|
48
|
+
const menuToStart = isRTL ? rootHostRect.right - menuItemsDivRect.width : rootHostRect.left;
|
|
49
|
+
const menuToEnd = isRTL ? rootHostRect.left : rootHostRect.right - menuItemsDivRect.width;
|
|
50
|
+
const menuToCenter = rootHostRect.left + (rootHostRect.width - menuItemsDivRect.width) / 2;
|
|
41
51
|
let menuLeft = !isRTL ? menuToStart : menuToEnd;
|
|
42
|
-
let menuTop = this.orientation === IgcContextMenuOrientation.bottom
|
|
52
|
+
let menuTop = this.orientation === IgcContextMenuOrientation.bottom
|
|
53
|
+
? isTabs
|
|
54
|
+
? menuToBottom
|
|
55
|
+
: menuToTop
|
|
56
|
+
: menuToBottom;
|
|
43
57
|
const menuBottom = menuTop + menuItemsDivRect.height;
|
|
44
58
|
menuTop = menuTop >= 0 ? menuTop : menuToBottom;
|
|
45
59
|
switch (this.position) {
|
|
@@ -47,10 +61,10 @@ export class IgcContextMenuComponent {
|
|
|
47
61
|
menuLeft = menuToStart;
|
|
48
62
|
break;
|
|
49
63
|
case 'center':
|
|
50
|
-
menuLeft =
|
|
64
|
+
menuLeft = rootHostRect.width > menuItemsDivRect.width && menuToCenter;
|
|
51
65
|
break;
|
|
52
66
|
case 'stretch':
|
|
53
|
-
this.menuItemsDiv.style.width =
|
|
67
|
+
this.menuItemsDiv.style.width = rootHostRect.width > menuItemsDivRect.width && `${rootHostRect.width}px`;
|
|
54
68
|
break;
|
|
55
69
|
case 'end':
|
|
56
70
|
default:
|
|
@@ -59,6 +73,7 @@ export class IgcContextMenuComponent {
|
|
|
59
73
|
if (this.orientation === IgcContextMenuOrientation.bottom && menuBottom > hostRect.height) {
|
|
60
74
|
menuTop = menuToTop;
|
|
61
75
|
}
|
|
76
|
+
menuLeft = menuLeft - menuItemsDivRect.left;
|
|
62
77
|
this.menuItemsDiv.style.left = `${menuLeft}px`;
|
|
63
78
|
this.menuItemsDiv.style.top = `${menuTop}px`;
|
|
64
79
|
this.menuItemsDiv.style.visibility = 'visible';
|
|
@@ -27,6 +27,7 @@ export class IgcDockManager {
|
|
|
27
27
|
this.scheduledCallbacks = [];
|
|
28
28
|
this.shouldClearActivePane = true;
|
|
29
29
|
this.isDragging = false;
|
|
30
|
+
this.splitterOffset = 1;
|
|
30
31
|
this.templatableComponents = [
|
|
31
32
|
{
|
|
32
33
|
slot: 'paneHeaderCloseButton',
|
|
@@ -203,9 +204,7 @@ export class IgcDockManager {
|
|
|
203
204
|
activePaneChange(newValue, oldValue) {
|
|
204
205
|
var _a;
|
|
205
206
|
const args = { newPane: newValue, oldPane: oldValue };
|
|
206
|
-
if (this.flyoutPane &&
|
|
207
|
-
newValue !== this.flyoutPane &&
|
|
208
|
-
(!newValue || newValue.isPinned !== false || this.activePaneInternalSet)) {
|
|
207
|
+
if (this.flyoutPane && newValue && newValue !== this.flyoutPane) {
|
|
209
208
|
this.service.flyoutPane(this.flyoutPane);
|
|
210
209
|
}
|
|
211
210
|
this.activePaneChanged.emit(args);
|
|
@@ -472,8 +471,17 @@ export class IgcDockManager {
|
|
|
472
471
|
this.service.resizeFlyoutPane(event.detail);
|
|
473
472
|
this.splitterResizeEnd.emit();
|
|
474
473
|
}
|
|
475
|
-
handleSplitterResizeStart() {
|
|
476
|
-
|
|
474
|
+
handleSplitterResizeStart(event) {
|
|
475
|
+
const splitter = event.target;
|
|
476
|
+
const resizeStartEvent = this.splitterResizeStart.emit();
|
|
477
|
+
if (resizeStartEvent.defaultPrevented) {
|
|
478
|
+
this.splitterOffset = 0;
|
|
479
|
+
splitter.showDragGhost = false;
|
|
480
|
+
}
|
|
481
|
+
else {
|
|
482
|
+
this.splitterOffset = 1;
|
|
483
|
+
splitter.showDragGhost = true;
|
|
484
|
+
}
|
|
477
485
|
}
|
|
478
486
|
handleSplitterResizeEnd(parentPane, pane, event) {
|
|
479
487
|
const splitter = event.target;
|
|
@@ -482,7 +490,7 @@ export class IgcDockManager {
|
|
|
482
490
|
const paneComponents = splitPaneChildren.filter(c => c.tagName.toLowerCase() !== 'igc-splitter-component');
|
|
483
491
|
const sizeProperty = parentPane.orientation === IgcSplitPaneOrientation.horizontal ? 'offsetWidth' : 'offsetHeight';
|
|
484
492
|
const sizeSum = paneComponents.reduce((s, p) => p[sizeProperty] + s, 0);
|
|
485
|
-
let offsetPercentage = event.detail / sizeSum;
|
|
493
|
+
let offsetPercentage = this.splitterOffset * event.detail / sizeSum;
|
|
486
494
|
let rtl = false;
|
|
487
495
|
if (this.element.dir !== '') {
|
|
488
496
|
rtl = this.element.dir === 'rtl';
|
|
@@ -764,8 +772,10 @@ export class IgcDockManager {
|
|
|
764
772
|
if ((!this.dropTargetPaneInfo || this.dropTargetPaneInfo.pane !== dropPane) && dropPane !== this.draggedPane) {
|
|
765
773
|
const docHost = this.service.getDocHostParent(dropPane);
|
|
766
774
|
const dropPaneRoot = this.service.getRootParent(dropPane);
|
|
767
|
-
const floatingPaneWithoutDocHost = this.layout.floatingPanes
|
|
768
|
-
|
|
775
|
+
const floatingPaneWithoutDocHost = this.layout.floatingPanes
|
|
776
|
+
? this.layout.floatingPanes.indexOf(dropPaneRoot) !== -1 &&
|
|
777
|
+
!this.service.getChildDocHostRecursive(dropPaneRoot)
|
|
778
|
+
: false;
|
|
769
779
|
if (!this.documentOnlyDrag
|
|
770
780
|
|| docHost
|
|
771
781
|
|| floatingPaneWithoutDocHost
|
|
@@ -861,8 +871,11 @@ export class IgcDockManager {
|
|
|
861
871
|
if (!targetPane) {
|
|
862
872
|
targetPane = pane.panes[0];
|
|
863
873
|
}
|
|
864
|
-
|
|
865
|
-
|
|
874
|
+
const nodeName = event.target.nodeName.toLowerCase();
|
|
875
|
+
if (nodeName === 'igc-dockmanager') {
|
|
876
|
+
this.setActivePane(targetPane);
|
|
877
|
+
this.setFocus(targetPane);
|
|
878
|
+
}
|
|
866
879
|
this.contentPaneId = targetPane.contentId;
|
|
867
880
|
});
|
|
868
881
|
}
|
|
@@ -1170,6 +1183,11 @@ export class IgcDockManager {
|
|
|
1170
1183
|
}
|
|
1171
1184
|
handlePaneNavigatorClosed(ev) {
|
|
1172
1185
|
this.service.normalizeMaximizedPane(ev.detail);
|
|
1186
|
+
const parent = this.service.getRootParent(ev.detail);
|
|
1187
|
+
const isParentFloating = this.service.isFloatingPane(parent);
|
|
1188
|
+
if (isParentFloating) {
|
|
1189
|
+
this.service.bringFloatingPaneOnTop(parent);
|
|
1190
|
+
}
|
|
1173
1191
|
if (ev.detail && this.activePane !== ev.detail) {
|
|
1174
1192
|
this.activePane = ev.detail;
|
|
1175
1193
|
}
|
|
@@ -19,6 +19,9 @@ export class IgcSplitterComponent {
|
|
|
19
19
|
this.dragEndHelper();
|
|
20
20
|
};
|
|
21
21
|
this.dragMove = (args) => {
|
|
22
|
+
if (!this.ghostElement) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
22
25
|
const rect = this.ghostElement.getBoundingClientRect();
|
|
23
26
|
const isHorizontal = this.splitPaneOrientation === IgcSplitPaneOrientation.horizontal;
|
|
24
27
|
const clientCoordinate = isHorizontal ? args.clientX : args.clientY;
|
|
@@ -222,6 +225,23 @@ export class IgcSplitterComponent {
|
|
|
222
225
|
"$": ["splitter-component.css"]
|
|
223
226
|
}; }
|
|
224
227
|
static get properties() { return {
|
|
228
|
+
"showDragGhost": {
|
|
229
|
+
"type": "boolean",
|
|
230
|
+
"mutable": false,
|
|
231
|
+
"complexType": {
|
|
232
|
+
"original": "boolean",
|
|
233
|
+
"resolved": "boolean",
|
|
234
|
+
"references": {}
|
|
235
|
+
},
|
|
236
|
+
"required": false,
|
|
237
|
+
"optional": false,
|
|
238
|
+
"docs": {
|
|
239
|
+
"tags": [],
|
|
240
|
+
"text": ""
|
|
241
|
+
},
|
|
242
|
+
"attribute": "show-drag-ghost",
|
|
243
|
+
"reflect": false
|
|
244
|
+
},
|
|
225
245
|
"splitPaneOrientation": {
|
|
226
246
|
"type": "string",
|
|
227
247
|
"mutable": false,
|
|
@@ -268,7 +288,6 @@ export class IgcSplitterComponent {
|
|
|
268
288
|
}
|
|
269
289
|
}; }
|
|
270
290
|
static get states() { return {
|
|
271
|
-
"showDragGhost": {},
|
|
272
291
|
"dragOffset": {},
|
|
273
292
|
"hasCustomSplitterHandle": {}
|
|
274
293
|
}; }
|
|
@@ -468,6 +468,10 @@ export class SampleComponent {
|
|
|
468
468
|
handleDragEnd(event) {
|
|
469
469
|
this.log(event);
|
|
470
470
|
}
|
|
471
|
+
handleSplitterResizeStart(event) {
|
|
472
|
+
this.log(event, Object.assign({}, event.detail));
|
|
473
|
+
// event.preventDefault();
|
|
474
|
+
}
|
|
471
475
|
handleFloatingPaneResizeStart(event) {
|
|
472
476
|
this.log(event, Object.assign({}, event.detail));
|
|
473
477
|
// event.preventDefault();
|
|
@@ -514,7 +518,7 @@ export class SampleComponent {
|
|
|
514
518
|
})),
|
|
515
519
|
h("button", { onClick: () => this.showPane() }, "Show Pane"),
|
|
516
520
|
h("button", { onClick: () => this.showAllPanes() }, "Show All Panes")),
|
|
517
|
-
h("igc-dockmanager", { layout: this.layout, onPaneClose: this.handlePaneClose.bind(this), onPanePinnedToggle: this.handlePinnedToggle.bind(this), onActivePaneChanged: this.handleActivePaneChanged.bind(this), onPaneDragStart: this.handleDragStart.bind(this), onPaneDragOver: this.handleDragOver.bind(this), onPaneDragEnd: this.handleDragEnd.bind(this), onFloatingPaneResizeStart: this.handleFloatingPaneResizeStart.bind(this), onFloatingPaneResizeMove: this.handleFloatingPaneResizeMove.bind(this), onFloatingPaneResizeEnd: this.handleFloatingPaneResizeEnd.bind(this), onLayoutChange: this.handleLayoutChange.bind(this),
|
|
521
|
+
h("igc-dockmanager", { layout: this.layout, onPaneClose: this.handlePaneClose.bind(this), onPanePinnedToggle: this.handlePinnedToggle.bind(this), onActivePaneChanged: this.handleActivePaneChanged.bind(this), onPaneDragStart: this.handleDragStart.bind(this), onPaneDragOver: this.handleDragOver.bind(this), onPaneDragEnd: this.handleDragEnd.bind(this), onSplitterResizeStart: this.handleSplitterResizeStart.bind(this), onFloatingPaneResizeStart: this.handleFloatingPaneResizeStart.bind(this), onFloatingPaneResizeMove: this.handleFloatingPaneResizeMove.bind(this), onFloatingPaneResizeEnd: this.handleFloatingPaneResizeEnd.bind(this), onLayoutChange: this.handleLayoutChange.bind(this),
|
|
518
522
|
// resourceStrings={this.getCustomResourceStrings()}
|
|
519
523
|
ref: el => this.dockManager = el,
|
|
520
524
|
// allowFloatingPanesResize={false}
|