igniteui-dockmanager 1.16.0-beta.2 → 1.16.0-beta.4
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/custom-elements.json +289 -127
- package/dist/cjs/igc-button-component_20.cjs.entry.js +899 -120
- package/dist/cjs/igc-button-component_20.cjs.entry.js.map +1 -1
- package/dist/cjs/igniteui-dockmanager.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/locale-98a30720.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/dockmanager/dockmanager-component.css +6 -1
- package/dist/collection/components/dockmanager/dockmanager-component.js +69 -16
- package/dist/collection/components/dockmanager/dockmanager-component.js.map +1 -1
- package/dist/collection/components/dockmanager/dockmanager.interfaces.js +4 -0
- package/dist/collection/components/dockmanager/dockmanager.interfaces.js.map +1 -1
- package/dist/collection/components/dockmanager/dockmanager.public-interfaces.js.map +1 -1
- package/dist/collection/components/dockmanager/dockmanager.service.js +155 -37
- package/dist/collection/components/dockmanager/dockmanager.service.js.map +1 -1
- package/dist/collection/components/dockmanager/dockmanager.service.spec.js +179 -0
- package/dist/collection/components/dockmanager/dockmanager.service.spec.js.map +1 -1
- package/dist/collection/components/dockmanager/panes/content-pane-component.js +21 -2
- package/dist/collection/components/dockmanager/panes/content-pane-component.js.map +1 -1
- package/dist/collection/components/dockmanager/panes/document-host-component.js +20 -1
- package/dist/collection/components/dockmanager/panes/document-host-component.js.map +1 -1
- package/dist/collection/components/dockmanager/panes/split-pane-component.js +39 -1
- package/dist/collection/components/dockmanager/panes/split-pane-component.js.map +1 -1
- package/dist/collection/components/dockmanager/panes/splitter-component.js +28 -7
- package/dist/collection/components/dockmanager/panes/splitter-component.js.map +1 -1
- package/dist/collection/components/sample-component/sample-component.css +39 -4
- package/dist/collection/components/sample-component/sample-component.js +644 -48
- package/dist/collection/components/sample-component/sample-component.js.map +1 -1
- package/dist/collection/components/tabs/tabs-component.js +20 -1
- package/dist/collection/components/tabs/tabs-component.js.map +1 -1
- package/dist/esm/igc-button-component_20.entry.js +893 -114
- package/dist/esm/igc-button-component_20.entry.js.map +1 -1
- package/dist/esm/igniteui-dockmanager.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/locale-81ccabef.js.map +1 -1
- package/dist/igniteui-dockmanager/igniteui-dockmanager.esm.js +1 -1
- package/dist/igniteui-dockmanager/igniteui-dockmanager.esm.js.map +1 -1
- package/dist/igniteui-dockmanager/p-90285d40.entry.js +2 -0
- package/dist/igniteui-dockmanager/p-90285d40.entry.js.map +1 -0
- package/dist/igniteui-dockmanager/p-f09ed94c.js.map +1 -1
- package/dist/types/components/dockmanager/dockmanager-component.d.ts +4 -0
- package/dist/types/components/dockmanager/dockmanager.interfaces.d.ts +4 -0
- package/dist/types/components/dockmanager/dockmanager.public-interfaces.d.ts +5 -0
- package/dist/types/components/dockmanager/dockmanager.service.d.ts +8 -2
- package/dist/types/components/dockmanager/panes/content-pane-component.d.ts +1 -0
- package/dist/types/components/dockmanager/panes/document-host-component.d.ts +1 -0
- package/dist/types/components/dockmanager/panes/split-pane-component.d.ts +2 -0
- package/dist/types/components/dockmanager/panes/splitter-component.d.ts +1 -0
- package/dist/types/components/sample-component/sample-component.d.ts +12 -19
- package/dist/types/components/tabs/tabs-component.d.ts +1 -0
- package/dist/types/components.d.ts +12 -0
- package/loader/cdn.js +2 -2
- package/loader/index.cjs.js +2 -2
- package/package.json +1 -1
- package/dist/igniteui-dockmanager/p-b20b97f6.entry.js +0 -2
- package/dist/igniteui-dockmanager/p-b20b97f6.entry.js.map +0 -1
|
@@ -84,6 +84,10 @@ class Utils {
|
|
|
84
84
|
* @hidden
|
|
85
85
|
*/
|
|
86
86
|
const IGC_DEFAULT_PANE_SIZE = 100;
|
|
87
|
+
/**
|
|
88
|
+
* @hidden
|
|
89
|
+
*/
|
|
90
|
+
const IGC_DEFAULT_PANE_SIZE_IN_PIXELS = 100;
|
|
87
91
|
/**
|
|
88
92
|
* @hidden
|
|
89
93
|
*/
|
|
@@ -130,13 +134,14 @@ const IgcContentPaneComponent = class {
|
|
|
130
134
|
this.disabled = false;
|
|
131
135
|
this.isSingleFloating = false;
|
|
132
136
|
this.contentId = undefined;
|
|
137
|
+
this.parentUseFixedSize = false;
|
|
133
138
|
}
|
|
134
139
|
componentDidRender() {
|
|
135
140
|
this.rendered.emit();
|
|
136
141
|
}
|
|
137
142
|
render() {
|
|
138
143
|
const size = this.size || this.size === 0 ? this.size : IGC_DEFAULT_PANE_SIZE;
|
|
139
|
-
const unpinnedSize = this.unpinnedSize ? this.unpinnedSize : IGC_DEFAULT_UNPIN_PANE_SIZE;
|
|
144
|
+
const unpinnedSize = this.unpinnedSize >= 0 ? this.unpinnedSize : IGC_DEFAULT_UNPIN_PANE_SIZE;
|
|
140
145
|
const parts = Utils.partNameMap({
|
|
141
146
|
'content-pane': true,
|
|
142
147
|
[this.contentId]: true,
|
|
@@ -144,7 +149,7 @@ const IgcContentPaneComponent = class {
|
|
|
144
149
|
'single-floating': this.isSingleFloating
|
|
145
150
|
});
|
|
146
151
|
return (index.h(index.Host, { role: "group", "aria-label": this.header, "aria-disabled": this.disabled ? 'true' : 'false', tabindex: this.disabled ? -1 : 0, style: {
|
|
147
|
-
flex: this.isFlyout ? `0 1 ${unpinnedSize}px` : `${size} 1 ${size}px`
|
|
152
|
+
flex: this.isFlyout ? `0 1 ${unpinnedSize}px` : this.parentUseFixedSize ? `0 0 ${size}px` : `${size} 1 ${size}px`
|
|
148
153
|
}, part: parts }, index.h("slot", { name: "header" }), index.h("slot", null)));
|
|
149
154
|
}
|
|
150
155
|
};
|
|
@@ -546,7 +551,8 @@ class IgcDockManagerService {
|
|
|
546
551
|
const floatingPane = {
|
|
547
552
|
type: locale.IgcDockManagerPaneType.splitPane,
|
|
548
553
|
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
549
|
-
panes: [content]
|
|
554
|
+
panes: [content],
|
|
555
|
+
size: content.size
|
|
550
556
|
};
|
|
551
557
|
floatingPane.floatingLocation = location;
|
|
552
558
|
floatingPane.floatingWidth = width;
|
|
@@ -653,6 +659,7 @@ class IgcDockManagerService {
|
|
|
653
659
|
}
|
|
654
660
|
}
|
|
655
661
|
dockToEdge(targetPane, position) {
|
|
662
|
+
var _a, _b;
|
|
656
663
|
const targetParent = this.getParent(targetPane);
|
|
657
664
|
if (!targetParent) {
|
|
658
665
|
return this.dockToCenter(targetPane, this.dockManager.draggedPane);
|
|
@@ -682,6 +689,15 @@ class IgcDockManagerService {
|
|
|
682
689
|
};
|
|
683
690
|
}
|
|
684
691
|
const paneToDock = draggedPane ? this.getPaneToDock(draggedPane) : this.dockManager.activePane;
|
|
692
|
+
// reset dragged pane size in pixels
|
|
693
|
+
if (((_a = this.draggedPaneParent) === null || _a === void 0 ? void 0 : _a.useFixedSize) === true && targetParent.useFixedSize !== true) {
|
|
694
|
+
paneToDock.size = IGC_DEFAULT_PANE_SIZE_IN_PIXELS;
|
|
695
|
+
}
|
|
696
|
+
else if (targetParent.useFixedSize === true && ((_b = this.draggedPaneParent) === null || _b === void 0 ? void 0 : _b.orientation) !== targetParent.orientation) {
|
|
697
|
+
const floatingPane = draggedPane;
|
|
698
|
+
const floatingPaneSizeInPixels = targetParent.orientation === locale.IgcSplitPaneOrientation.horizontal ? floatingPane === null || floatingPane === void 0 ? void 0 : floatingPane.floatingWidth : floatingPane === null || floatingPane === void 0 ? void 0 : floatingPane.floatingHeight;
|
|
699
|
+
paneToDock.size = floatingPaneSizeInPixels;
|
|
700
|
+
}
|
|
685
701
|
let newSplitPane;
|
|
686
702
|
var isDockingBefore = Utils.isDockingIndicatorBefore(position) && !isRTL || Utils.isDockingIndicatorBeforeRTL(position) && isRTL;
|
|
687
703
|
const insertIndex = isDockingBefore ?
|
|
@@ -702,23 +718,42 @@ class IgcDockManagerService {
|
|
|
702
718
|
panes: isDockingBefore ?
|
|
703
719
|
[paneToDock, targetPane] :
|
|
704
720
|
[targetPane, paneToDock],
|
|
705
|
-
size: targetPane.size
|
|
721
|
+
size: targetPane.size >= 0 ? targetPane.size : targetParent.size
|
|
706
722
|
};
|
|
707
723
|
targetParent.panes[paneIndex] = newSplitPane;
|
|
708
724
|
}
|
|
709
|
-
targetPane
|
|
710
|
-
|
|
725
|
+
if (!this.shouldUseFixedSize(targetPane)) {
|
|
726
|
+
targetPane.size = undefined;
|
|
727
|
+
paneToDock.size = undefined;
|
|
728
|
+
}
|
|
729
|
+
// simplifying nested split panes
|
|
730
|
+
const parentSplitPane = this.getParent(targetParent);
|
|
731
|
+
if (parentSplitPane &&
|
|
732
|
+
parentSplitPane.type === locale.IgcDockManagerPaneType.splitPane &&
|
|
733
|
+
parentSplitPane.panes.length === 1 &&
|
|
734
|
+
parentSplitPane.allowEmpty === targetParent.allowEmpty &&
|
|
735
|
+
parentSplitPane.size === targetParent.size &&
|
|
736
|
+
parentSplitPane.useFixedSize === targetParent.useFixedSize) {
|
|
737
|
+
parentSplitPane.orientation = targetParent.orientation;
|
|
738
|
+
parentSplitPane.panes = targetParent.panes;
|
|
739
|
+
}
|
|
711
740
|
}
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
if (
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
741
|
+
}
|
|
742
|
+
shouldUseFixedSize(pane) {
|
|
743
|
+
if (pane.type === locale.IgcDockManagerPaneType.splitPane) {
|
|
744
|
+
if (pane.useFixedSize) {
|
|
745
|
+
return true;
|
|
746
|
+
}
|
|
747
|
+
for (let i = 0; i < pane.panes.length; i++) {
|
|
748
|
+
if (this.shouldUseFixedSize(pane.panes[i])) {
|
|
749
|
+
return true;
|
|
750
|
+
}
|
|
751
|
+
}
|
|
721
752
|
}
|
|
753
|
+
else if (pane.type === locale.IgcDockManagerPaneType.documentHost) {
|
|
754
|
+
this.shouldUseFixedSize(pane.rootPane);
|
|
755
|
+
}
|
|
756
|
+
return false;
|
|
722
757
|
}
|
|
723
758
|
updateLayout() {
|
|
724
759
|
this.dockManager.layout = Object.assign({}, this.dockManager.layout);
|
|
@@ -788,7 +823,7 @@ class IgcDockManagerService {
|
|
|
788
823
|
resizeFlyoutPane(delta) {
|
|
789
824
|
const pane = this.dockManager.flyoutPane;
|
|
790
825
|
const location = this.unpinnedLocationMap.get(pane);
|
|
791
|
-
const paneSize = pane.unpinnedSize ? pane.unpinnedSize : IGC_DEFAULT_UNPIN_PANE_SIZE;
|
|
826
|
+
const paneSize = pane.unpinnedSize >= 0 ? pane.unpinnedSize : IGC_DEFAULT_UNPIN_PANE_SIZE;
|
|
792
827
|
const newSize = location === locale.IgcUnpinnedLocation.left || location === locale.IgcUnpinnedLocation.top ?
|
|
793
828
|
paneSize + delta :
|
|
794
829
|
paneSize - delta;
|
|
@@ -803,7 +838,9 @@ class IgcDockManagerService {
|
|
|
803
838
|
const sizeSum = paneSizes.reduce((p, c) => c + p, 0);
|
|
804
839
|
const calcDelta = deltaPercentage * sizeSum;
|
|
805
840
|
childPanes[paneIndex - 1].size = paneSizes[paneIndex - 1] + calcDelta;
|
|
806
|
-
|
|
841
|
+
if (!parentPane.useFixedSize) {
|
|
842
|
+
childPanes[paneIndex].size = paneSizes[paneIndex] - calcDelta;
|
|
843
|
+
}
|
|
807
844
|
this.updateLayout();
|
|
808
845
|
}
|
|
809
846
|
togglePin(pane, unpinBehavior = locale.IgcPaneActionBehavior.allPanes) {
|
|
@@ -847,16 +884,38 @@ class IgcDockManagerService {
|
|
|
847
884
|
this.updateLayout();
|
|
848
885
|
}
|
|
849
886
|
}
|
|
887
|
+
checkUseFixedSizeParent(pane) {
|
|
888
|
+
const parent = this.getParent(pane);
|
|
889
|
+
if (!parent) {
|
|
890
|
+
return null;
|
|
891
|
+
}
|
|
892
|
+
// If the pane to close is the last non-placeholder pane of a split pane, close the whole split pane.
|
|
893
|
+
// Also check if the pane to close is inside a split pane and close the top split pane that holds the placeholder.
|
|
894
|
+
if (parent.type === locale.IgcDockManagerPaneType.splitPane && parent.panes.length === 2) {
|
|
895
|
+
const isPlaceholderPresent = parent.panes.some(p => p.type === locale.IgcDockManagerPaneType.contentPane && p.contentId === "placeholder");
|
|
896
|
+
const isValidContentPane = parent.panes.every(p => p.type === locale.IgcDockManagerPaneType.contentPane ||
|
|
897
|
+
p.type === locale.IgcDockManagerPaneType.tabGroupPane ||
|
|
898
|
+
(p.type === locale.IgcDockManagerPaneType.splitPane && p.panes.length === 1 && p.panes[0].type === locale.IgcDockManagerPaneType.contentPane));
|
|
899
|
+
if (isPlaceholderPresent && isValidContentPane) {
|
|
900
|
+
return parent;
|
|
901
|
+
}
|
|
902
|
+
}
|
|
903
|
+
return this.checkUseFixedSizeParent(parent);
|
|
904
|
+
}
|
|
850
905
|
closePane(pane) {
|
|
851
906
|
let paneToRemove = pane;
|
|
852
907
|
let closeAll = this.dockManager.closeBehavior !== locale.IgcPaneActionBehavior.selectedPane;
|
|
853
908
|
if (pane.type === locale.IgcDockManagerPaneType.contentPane && pane !== this.dockManager.flyoutPane) {
|
|
854
|
-
const parent = this.
|
|
855
|
-
|
|
909
|
+
const parent = this.getParent(pane);
|
|
910
|
+
const ignoreResizeConstraintPaneTargetParent = this.checkUseFixedSizeParent(pane);
|
|
911
|
+
if (ignoreResizeConstraintPaneTargetParent !== null) {
|
|
912
|
+
paneToRemove = ignoreResizeConstraintPaneTargetParent;
|
|
913
|
+
}
|
|
914
|
+
else if (parent.type === locale.IgcDockManagerPaneType.tabGroupPane && closeAll) {
|
|
856
915
|
paneToRemove = parent;
|
|
857
916
|
}
|
|
858
917
|
}
|
|
859
|
-
const paneRemoved = paneToRemove.type === locale.IgcDockManagerPaneType.tabGroupPane ?
|
|
918
|
+
const paneRemoved = paneToRemove.type === locale.IgcDockManagerPaneType.tabGroupPane || paneToRemove.type === locale.IgcDockManagerPaneType.splitPane ?
|
|
860
919
|
this.removeAllowedPanes(pane, paneToRemove) :
|
|
861
920
|
this.emitPaneClose(pane, [paneToRemove]);
|
|
862
921
|
if ((paneRemoved || pane.hidden) && pane === this.dockManager.flyoutPane) {
|
|
@@ -1042,6 +1101,9 @@ class IgcDockManagerService {
|
|
|
1042
1101
|
let panesToRemove = [pane];
|
|
1043
1102
|
let paneToAdd = pane;
|
|
1044
1103
|
const parent = this.paneParentMap.get(pane);
|
|
1104
|
+
if (parent.type === locale.IgcDockManagerPaneType.splitPane && parent.useFixedSize === true) {
|
|
1105
|
+
this.draggedPaneParent = parent;
|
|
1106
|
+
}
|
|
1045
1107
|
if (pane !== this.dockManager.flyoutPane && parent.type === locale.IgcDockManagerPaneType.tabGroupPane) {
|
|
1046
1108
|
if (parent.allowEmpty) {
|
|
1047
1109
|
const panes = [...parent.panes];
|
|
@@ -1116,11 +1178,11 @@ class IgcDockManagerService {
|
|
|
1116
1178
|
position === locale.IgcDockingIndicatorPosition.right && isRTL ||
|
|
1117
1179
|
position === locale.IgcDockingIndicatorPosition.top;
|
|
1118
1180
|
const insertIndex = isDockingBefore ? 0 : rootPane.panes.length;
|
|
1119
|
-
if ((isIndicatorVertical && isSplitPaneVertical) || (!isIndicatorVertical && !isSplitPaneVertical)) {
|
|
1181
|
+
if (rootPane.useFixedSize !== true && ((isIndicatorVertical && isSplitPaneVertical) || (!isIndicatorVertical && !isSplitPaneVertical))) {
|
|
1120
1182
|
rootPane.panes.splice(insertIndex, 0, paneToDock);
|
|
1121
1183
|
}
|
|
1122
1184
|
else {
|
|
1123
|
-
if (rootPane.panes.length === 1 && rootPane.panes[0].type === locale.IgcDockManagerPaneType.splitPane) {
|
|
1185
|
+
if (rootPane.useFixedSize !== true && rootPane.panes.length === 1 && rootPane.panes[0].type === locale.IgcDockManagerPaneType.splitPane) {
|
|
1124
1186
|
rootPane.orientation =
|
|
1125
1187
|
rootPane.orientation === locale.IgcSplitPaneOrientation.horizontal ?
|
|
1126
1188
|
locale.IgcSplitPaneOrientation.vertical :
|
|
@@ -1130,7 +1192,9 @@ class IgcDockManagerService {
|
|
|
1130
1192
|
else {
|
|
1131
1193
|
const newRootPane = {
|
|
1132
1194
|
type: locale.IgcDockManagerPaneType.splitPane,
|
|
1133
|
-
orientation:
|
|
1195
|
+
orientation: rootPane.useFixedSize !== true ?
|
|
1196
|
+
(isSplitPaneVertical ? locale.IgcSplitPaneOrientation.horizontal : locale.IgcSplitPaneOrientation.vertical) :
|
|
1197
|
+
isIndicatorVertical ? locale.IgcSplitPaneOrientation.vertical : locale.IgcSplitPaneOrientation.horizontal,
|
|
1134
1198
|
panes: isDockingBefore ?
|
|
1135
1199
|
[paneToDock, rootPane] :
|
|
1136
1200
|
[rootPane, paneToDock],
|
|
@@ -1227,9 +1291,10 @@ class IgcDockManagerService {
|
|
|
1227
1291
|
}
|
|
1228
1292
|
return items;
|
|
1229
1293
|
}
|
|
1230
|
-
dragPaneStart(pane, rect, clientX, clientY) {
|
|
1294
|
+
dragPaneStart(pane, rect, clientX, clientY, anyPaneIgnoringResizeConstraints = false) {
|
|
1231
1295
|
var _a;
|
|
1232
|
-
if (this.dockManager.maximizedPane
|
|
1296
|
+
if (this.dockManager.maximizedPane ||
|
|
1297
|
+
(anyPaneIgnoringResizeConstraints && !this.isFloatingPane(this.getRootParent(pane)))) {
|
|
1233
1298
|
return false;
|
|
1234
1299
|
}
|
|
1235
1300
|
let panes;
|
|
@@ -1379,8 +1444,12 @@ class IgcDockManagerService {
|
|
|
1379
1444
|
this.dockPane(this.proximityDockPosition);
|
|
1380
1445
|
docked = true;
|
|
1381
1446
|
}
|
|
1447
|
+
if (!docked && this.draggedPaneParent && this.dockManager.draggedPane.type === locale.IgcDockManagerPaneType.splitPane && this.dockManager.draggedPane.panes.length === 1) {
|
|
1448
|
+
this.dockManager.draggedPane.panes[0].size = IGC_DEFAULT_PANE_SIZE_IN_PIXELS;
|
|
1449
|
+
}
|
|
1382
1450
|
this.draggedPanes = null;
|
|
1383
1451
|
this.draggedTab = null;
|
|
1452
|
+
this.draggedPaneParent = null;
|
|
1384
1453
|
this.dockManager.draggedPane = null;
|
|
1385
1454
|
this.dockManager.dropTargetPaneInfo = null;
|
|
1386
1455
|
this.dockManager.dropShadowRect = null;
|
|
@@ -1459,7 +1528,10 @@ class IgcDockManagerService {
|
|
|
1459
1528
|
this.draggedPanes = [pane];
|
|
1460
1529
|
return true;
|
|
1461
1530
|
}
|
|
1462
|
-
dragTabMove(pane, args, rects) {
|
|
1531
|
+
dragTabMove(pane, args, rects, anyPaneIgnoringResizeConstraints = false) {
|
|
1532
|
+
if (anyPaneIgnoringResizeConstraints && !this.isFloatingPane(this.getRootParent(pane))) {
|
|
1533
|
+
return false;
|
|
1534
|
+
}
|
|
1463
1535
|
const clientX = args.clientX;
|
|
1464
1536
|
const clientY = args.clientY;
|
|
1465
1537
|
const offsetX = args.offsetX;
|
|
@@ -1609,11 +1681,11 @@ class IgcDockManagerService {
|
|
|
1609
1681
|
}
|
|
1610
1682
|
}
|
|
1611
1683
|
getDropShadowRect(dockingPosition, dockingDirection) {
|
|
1612
|
-
var _a;
|
|
1684
|
+
var _a, _b;
|
|
1613
1685
|
const shadowRect = new DOMRect();
|
|
1614
1686
|
dockingPosition = dockingPosition !== null && dockingPosition !== void 0 ? dockingPosition : this.dockingIndicator.position;
|
|
1615
1687
|
dockingDirection = dockingDirection !== null && dockingDirection !== void 0 ? dockingDirection : this.dockingIndicator.direction;
|
|
1616
|
-
|
|
1688
|
+
let parentRect = this.dropTargetParentRect;
|
|
1617
1689
|
const dropTargetPaneInfo = this.dockManager.dropTargetPaneInfo;
|
|
1618
1690
|
if (dropTargetPaneInfo && !parentRect) {
|
|
1619
1691
|
const targetRect = dropTargetPaneInfo.targetRect;
|
|
@@ -1626,7 +1698,6 @@ class IgcDockManagerService {
|
|
|
1626
1698
|
else if (!dropTargetPaneInfo || !parentRect) {
|
|
1627
1699
|
return;
|
|
1628
1700
|
}
|
|
1629
|
-
const draggedPaneSize = (_a = this.getPaneToDock(this.dockManager.draggedPane).size) !== null && _a !== void 0 ? _a : IGC_DEFAULT_PANE_SIZE;
|
|
1630
1701
|
const isOuter = Utils.isDockingIndicatorOuter(dockingPosition);
|
|
1631
1702
|
const baseRect = isOuter ? parentRect : dropTargetPaneInfo.targetRect;
|
|
1632
1703
|
if (dockingPosition === locale.IgcDockingIndicatorPosition.center) {
|
|
@@ -1640,6 +1711,17 @@ class IgcDockManagerService {
|
|
|
1640
1711
|
const targetParent = this.getParent(targetPane);
|
|
1641
1712
|
const panes = this.getSplitPaneVisibleChildren(targetParent);
|
|
1642
1713
|
const draggedPaneIndex = panes.indexOf(this.dockManager.draggedPane);
|
|
1714
|
+
// reset dragged pane size for preview
|
|
1715
|
+
let draggedPaneSize = this.getPaneToDock(this.dockManager.draggedPane).size;
|
|
1716
|
+
if (((_a = this.draggedPaneParent) === null || _a === void 0 ? void 0 : _a.useFixedSize) === true && targetParent.useFixedSize !== true) {
|
|
1717
|
+
draggedPaneSize = IGC_DEFAULT_PANE_SIZE_IN_PIXELS;
|
|
1718
|
+
}
|
|
1719
|
+
if (targetParent.useFixedSize === true && ((_b = this.draggedPaneParent) === null || _b === void 0 ? void 0 : _b.orientation) !== targetParent.orientation) {
|
|
1720
|
+
const floatingPane = this.dockManager.draggedPane;
|
|
1721
|
+
const floatingPaneSizeInPixels = targetParent.orientation === locale.IgcSplitPaneOrientation.horizontal ? floatingPane === null || floatingPane === void 0 ? void 0 : floatingPane.floatingWidth : floatingPane === null || floatingPane === void 0 ? void 0 : floatingPane.floatingHeight;
|
|
1722
|
+
draggedPaneSize = floatingPaneSizeInPixels;
|
|
1723
|
+
}
|
|
1724
|
+
draggedPaneSize = draggedPaneSize >= 0 ? draggedPaneSize : IGC_DEFAULT_PANE_SIZE;
|
|
1643
1725
|
if (draggedPaneIndex > -1) {
|
|
1644
1726
|
panes.splice(draggedPaneIndex, 1);
|
|
1645
1727
|
}
|
|
@@ -1648,13 +1730,24 @@ class IgcDockManagerService {
|
|
|
1648
1730
|
const isSplitPaneVertical = Utils.isSplitPaneVertical(targetParent);
|
|
1649
1731
|
const isSameSplitPane = ((isIndicatorVertical && isSplitPaneVertical) || (!isIndicatorVertical && !isSplitPaneVertical));
|
|
1650
1732
|
const isRTL = dockingDirection === 'rtl';
|
|
1651
|
-
|
|
1733
|
+
// take splitter size into account only when split pane has useFixedSize=true
|
|
1734
|
+
const splitterSize = targetParent.useFixedSize ? 4 : 0;
|
|
1735
|
+
const panesTotalSize = panes.reduce((a, b) => a + (b.size >= 0 ? b.size : IGC_DEFAULT_PANE_SIZE), 0) + (panes.length - 1) * splitterSize;
|
|
1652
1736
|
const beforePanesTotalSize = !isRTL || isIndicatorVertical
|
|
1653
|
-
? panes.slice(0, dropTargetIndex).reduce((a, b) => a + (b.size
|
|
1654
|
-
: panes.slice(dropTargetIndex, panes.length).reduce((a, b) => a + (b.size
|
|
1737
|
+
? panes.slice(0, dropTargetIndex).reduce((a, b) => a + (b.size >= 0 ? b.size : IGC_DEFAULT_PANE_SIZE), 0) + dropTargetIndex * splitterSize
|
|
1738
|
+
: panes.slice(dropTargetIndex, panes.length).reduce((a, b) => a + (b.size >= 0 ? b.size : IGC_DEFAULT_PANE_SIZE), 0) + dropTargetIndex * splitterSize;
|
|
1655
1739
|
const afterPanesTotalSize = !isRTL || isIndicatorVertical
|
|
1656
|
-
? panes.slice(0, dropTargetIndex + 1).reduce((a, b) => a + (b.size
|
|
1657
|
-
: panes.slice(dropTargetIndex + 1, panes.length).reduce((a, b) => a + (b.size
|
|
1740
|
+
? panes.slice(0, dropTargetIndex + 1).reduce((a, b) => a + (b.size >= 0 ? b.size : IGC_DEFAULT_PANE_SIZE), 0) + (dropTargetIndex + 1) * splitterSize
|
|
1741
|
+
: panes.slice(dropTargetIndex + 1, panes.length).reduce((a, b) => a + (b.size >= 0 ? b.size : IGC_DEFAULT_PANE_SIZE), 0) + (dropTargetIndex + 1) * splitterSize;
|
|
1742
|
+
// update parent rect for preview when useFixedSize=true
|
|
1743
|
+
if (targetParent.useFixedSize) {
|
|
1744
|
+
const rectWithPlaceholder = parentRect;
|
|
1745
|
+
parentRect = new DOMRect();
|
|
1746
|
+
parentRect.x = rectWithPlaceholder.x;
|
|
1747
|
+
parentRect.y = rectWithPlaceholder.y;
|
|
1748
|
+
parentRect.width = isSplitPaneVertical ? rectWithPlaceholder.width : panesTotalSize + draggedPaneSize;
|
|
1749
|
+
parentRect.height = isSplitPaneVertical ? panesTotalSize + draggedPaneSize : rectWithPlaceholder.height;
|
|
1750
|
+
}
|
|
1658
1751
|
switch (dockingPosition) {
|
|
1659
1752
|
case locale.IgcDockingIndicatorPosition.left:
|
|
1660
1753
|
case locale.IgcDockingIndicatorPosition.outerLeft:
|
|
@@ -1716,19 +1809,19 @@ class IgcDockManagerService {
|
|
|
1716
1809
|
return shadowRect;
|
|
1717
1810
|
}
|
|
1718
1811
|
getDropShadowRectRoot() {
|
|
1719
|
-
var _a;
|
|
1720
1812
|
const rootRect = this.dropTargetParentRect;
|
|
1721
1813
|
const shadowRect = new DOMRect();
|
|
1722
|
-
|
|
1814
|
+
let draggedPaneSize = this.getPaneToDock(this.dockManager.draggedPane).size;
|
|
1815
|
+
draggedPaneSize = draggedPaneSize >= 0 ? draggedPaneSize : IGC_DEFAULT_PANE_SIZE;
|
|
1723
1816
|
const panes = this.getSplitPaneVisibleChildren(this.dockManager.layout.rootPane);
|
|
1724
1817
|
const draggedPaneIndex = panes.indexOf(this.dockManager.draggedPane);
|
|
1725
1818
|
if (draggedPaneIndex > -1) {
|
|
1726
1819
|
panes.splice(draggedPaneIndex, 1);
|
|
1727
1820
|
}
|
|
1728
|
-
const panesTotalSize = panes.reduce((a, b) => a + (b.size
|
|
1821
|
+
const panesTotalSize = panes.reduce((a, b) => a + (b.size >= 0 ? b.size : IGC_DEFAULT_PANE_SIZE), 0);
|
|
1729
1822
|
const isIndicatorVertical = Utils.isDockingIndicatorVertical(this.dockingIndicator.position);
|
|
1730
1823
|
const isSplitPaneVertical = Utils.isSplitPaneVertical(this.dockManager.layout.rootPane);
|
|
1731
|
-
const isSameSplitPane = (isIndicatorVertical && isSplitPaneVertical) || (!isIndicatorVertical && !isSplitPaneVertical);
|
|
1824
|
+
const isSameSplitPane = this.dockManager.layout.rootPane.useFixedSize !== true && ((isIndicatorVertical && isSplitPaneVertical) || (!isIndicatorVertical && !isSplitPaneVertical));
|
|
1732
1825
|
const isEmptyDockManager = panes.length === 0;
|
|
1733
1826
|
switch (this.dockingIndicator.position) {
|
|
1734
1827
|
case locale.IgcDockingIndicatorPosition.left:
|
|
@@ -1811,6 +1904,36 @@ class IgcDockManagerService {
|
|
|
1811
1904
|
this.normalizeMaximizedPane(nextPane);
|
|
1812
1905
|
this.dockManager.activePane = nextPane;
|
|
1813
1906
|
}
|
|
1907
|
+
isSplitPaneIgnoringResizeConstraints(pane) {
|
|
1908
|
+
return pane && pane.type === locale.IgcDockManagerPaneType.splitPane && pane.useFixedSize;
|
|
1909
|
+
}
|
|
1910
|
+
isParentUseFixedSize(pane) {
|
|
1911
|
+
const parent = this.getParent(pane);
|
|
1912
|
+
return this.isSplitPaneIgnoringResizeConstraints(parent);
|
|
1913
|
+
}
|
|
1914
|
+
checkAndAddPlaceholderPane(pane) {
|
|
1915
|
+
//Add placeholder pane in every splitPane that ignores resize constraints
|
|
1916
|
+
if (this.isSplitPaneIgnoringResizeConstraints(pane)) {
|
|
1917
|
+
// this.anyPaneIgnoringResizeConstraints = true;
|
|
1918
|
+
const placeholderPane = {
|
|
1919
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
1920
|
+
contentId: "placeholder",
|
|
1921
|
+
header: 'Placeholder',
|
|
1922
|
+
allowDocking: false,
|
|
1923
|
+
allowFloating: false,
|
|
1924
|
+
allowMaximize: false,
|
|
1925
|
+
allowPinning: false,
|
|
1926
|
+
size: 0
|
|
1927
|
+
};
|
|
1928
|
+
pane.panes.push(placeholderPane);
|
|
1929
|
+
}
|
|
1930
|
+
if (pane.type !== locale.IgcDockManagerPaneType.contentPane && pane.type !== locale.IgcDockManagerPaneType.documentHost && pane.panes) {
|
|
1931
|
+
pane.panes.forEach(p => this.checkAndAddPlaceholderPane(p));
|
|
1932
|
+
}
|
|
1933
|
+
else if (pane.type === locale.IgcDockManagerPaneType.documentHost) {
|
|
1934
|
+
this.checkAndAddPlaceholderPane(pane.rootPane);
|
|
1935
|
+
}
|
|
1936
|
+
}
|
|
1814
1937
|
}
|
|
1815
1938
|
|
|
1816
1939
|
/**
|
|
@@ -1966,7 +2089,7 @@ class IgcDockManagerKeyboardService {
|
|
|
1966
2089
|
}
|
|
1967
2090
|
}
|
|
1968
2091
|
|
|
1969
|
-
const dockmanagerComponentCss = ":host{position:relative;z-index:0;display:flex;overflow:hidden;box-sizing:border-box;height:100%;background:var(--igc-dock-background, var(--igc-background-color, #E5E7E9));color:var(--igc-dock-text, var(--igc-text-color, rgba(0, 0, 0, 0.72)));font-family:var(--igc-font-family, \"Titillium Web\", \"Roboto\", \"Helvetica Neue\", sans-serif);outline-style:none;--unpinned-tab-area-size:30px}:host igc-icon-component svg{width:17px;height:17px}.pane-container--vertical,.pane-container--horizontal,.pane-container{display:flex;flex-grow:1;height:100%;width:100
|
|
2092
|
+
const dockmanagerComponentCss = ":host{position:relative;z-index:0;display:flex;overflow:hidden;box-sizing:border-box;height:100%;background:var(--igc-dock-background, var(--igc-background-color, #E5E7E9));color:var(--igc-dock-text, var(--igc-text-color, rgba(0, 0, 0, 0.72)));font-family:var(--igc-font-family, \"Titillium Web\", \"Roboto\", \"Helvetica Neue\", sans-serif);outline-style:none;--unpinned-tab-area-size:30px}:host igc-icon-component svg{width:17px;height:17px}.pane-container--vertical,.pane-container--horizontal,.pane-container{display:flex;flex-grow:1;max-height:100vh;max-width:100vw;height:100%;width:100%}.pane-container--horizontal{overflow-x:auto}.pane-container--vertical{flex-direction:column;overflow-y:auto}.unpinned-tab-area{display:flex;flex-direction:column;width:var(--unpinned-tab-area-size);height:auto}.unpinned-tab-area--left{padding:8px 8px 8px 0}.unpinned-tab-area--right{padding:8px 0 8px 8px}.unpinned-tab-area--bottom{padding-top:8px}.unpinned-tab-area--horizontal{flex-direction:row;width:auto;height:var(--unpinned-tab-area-size)}.unpinned-tab-area--hidden{display:none}.flyout-pane{display:flex;flex-direction:column;position:absolute;width:100%;height:100%;pointer-events:none;z-index:2}.flyout-pane igc-content-pane-component{box-shadow:0 12px 8px var(--igc-flyout-shadow-color, rgba(0, 0, 0, 0.08))}.flyout-pane--right{flex-direction:row-reverse}.flyout-pane--right igc-content-pane-component{box-shadow:-12px 0px 8px var(--igc-flyout-shadow-color, rgba(0, 0, 0, 0.08))}.flyout-pane--bottom{flex-direction:column-reverse}.flyout-pane--bottom igc-content-pane-component{box-shadow:0 -12px 8px var(--igc-flyout-shadow-color, rgba(0, 0, 0, 0.08))}.flyout-pane--left{flex-direction:row}.flyout-pane--left igc-content-pane-component{box-shadow:12px 0px 8px var(--igc-flyout-shadow-color, rgba(0, 0, 0, 0.08))}.floating-panes{position:fixed;top:0;left:0;bottom:0;right:0;pointer-events:none;z-index:10000}.docking-indicators-container{position:absolute;display:flex;flex-direction:column;width:100%;height:100%;pointer-events:none;z-index:10004}.content{overflow:auto;height:100%;flex-grow:1;color:var(--igc-pane-content-text, var(--igc-text-color, rgba(0, 0, 0, 0.72)));background:var(--igc-pane-content-background, var(--igc-border-color, #F3F5F7));position:relative}.maximized{position:absolute;top:0;bottom:0;left:0;right:0;z-index:10002}.drop-shadow{background-color:var(--igc-drop-shadow-background, rgba(100, 149, 237, 0.2));position:fixed;z-index:10003;display:block;pointer-events:none}.hidden{height:0;opacity:0;padding:0;pointer-events:none;min-height:0 !important;transition:opacity 0.5s ease;position:absolute}.transitioned{overflow:hidden;transition:opacity 0.5s ease;position:absolute;z-index:999;width:100%}::-webkit-scrollbar{height:var(--igc-sb-size, 12px);width:var(--igc-sb-size, 12px)}::-webkit-scrollbar-track{background:var(--igc-sb-track-bg-color, #e5e7e9)}::-webkit-scrollbar-track:hover,::-webkit-scrollbar-track:active{background:var(--igc-sb-track-bg-color-hover, #e5e7e9)}::-webkit-scrollbar-corner{background:var(--igc-sb-corner-bg, #e5e7e9);border:var(--igc-sb-corner-border-size, 0) solid var(--igc-sb-corner-border-color, transparent)}::-webkit-scrollbar-track-piece{border:var(--igc-sb-track-border-size, 0) solid var(--igc-sb-track-border-color, transparent)}::-webkit-scrollbar-button:vertical:start:decrement,::-webkit-scrollbar-button:vertical:end:increment,::-webkit-scrollbar-button:horizontal:start:decrement,::-webkit-scrollbar-button:horizontal:end:increment{display:none}::-webkit-scrollbar-thumb{min-height:var(--igc-sb-thumb-min-height, 32px);border-radius:var(--igc-sb-thumb-border-radius, 0);border:var(--igc-sb-thumb-border-size, 0) solid var(--igc-sb-thumb-border-color, transparent);background-clip:content-box;background-color:var(--igc-sb-thumb-bg-color, #d1d1d1)}::-webkit-scrollbar-thumb:hover{background-color:var(--igc-sb-thumb-bg-color-hover, #afafaf)}";
|
|
1970
2093
|
|
|
1971
2094
|
var ActionReason;
|
|
1972
2095
|
(function (ActionReason) {
|
|
@@ -2009,6 +2132,7 @@ const IgcDockManager = class {
|
|
|
2009
2132
|
this.resizeObserver = new ResizeObserver(this.restrictFloatingPaneSize.bind(this));
|
|
2010
2133
|
this.proximityDockThreshold = 50;
|
|
2011
2134
|
this.proximityOuterDockThreshold = 25;
|
|
2135
|
+
this.anyPaneIgnoringResizeConstraints = false;
|
|
2012
2136
|
this.templatableComponents = [
|
|
2013
2137
|
{
|
|
2014
2138
|
slot: 'paneHeaderCloseButton',
|
|
@@ -2202,7 +2326,7 @@ const IgcDockManager = class {
|
|
|
2202
2326
|
const panes = this.draggedPane.type === locale.IgcDockManagerPaneType.contentPane ?
|
|
2203
2327
|
[this.draggedPane] :
|
|
2204
2328
|
this.service.getChildContentPanes(this.draggedPane);
|
|
2205
|
-
this.showDockingIndicators = panes.every(p => p.allowDocking !== false);
|
|
2329
|
+
this.showDockingIndicators = panes.every(p => p.allowDocking !== false) && !this.anyPaneIgnoringResizeConstraints;
|
|
2206
2330
|
this.documentOnlyDrag = panes.some(p => p.documentOnly);
|
|
2207
2331
|
}
|
|
2208
2332
|
else {
|
|
@@ -2330,6 +2454,7 @@ const IgcDockManager = class {
|
|
|
2330
2454
|
this.contextMenuMeta = null;
|
|
2331
2455
|
this.navigationPaneMeta = null;
|
|
2332
2456
|
if (this.layout) {
|
|
2457
|
+
this.updateLayout();
|
|
2333
2458
|
this.layoutChanged();
|
|
2334
2459
|
}
|
|
2335
2460
|
if (!this.resourceStrings) {
|
|
@@ -2373,6 +2498,17 @@ const IgcDockManager = class {
|
|
|
2373
2498
|
focusElement() {
|
|
2374
2499
|
this.element.focus();
|
|
2375
2500
|
}
|
|
2501
|
+
updateLayout() {
|
|
2502
|
+
//Check for useFixedSize in the layout and create a placeholder pane for resizing.
|
|
2503
|
+
this.service.checkAndAddPlaceholderPane(this.layout.rootPane);
|
|
2504
|
+
for (const p of this.layout.floatingPanes) {
|
|
2505
|
+
// Do not add a placeholder pane for floating pane's root splitPane
|
|
2506
|
+
p.panes.forEach(cp => this.service.checkAndAddPlaceholderPane(cp));
|
|
2507
|
+
// Should we add a resolved prop instead of setting useFixedSize to false?
|
|
2508
|
+
// Used to prevent the root parent splitPane of having flex grow and shrink set to 0 which breaks floating pane resizing.
|
|
2509
|
+
p.useFixedSize = false;
|
|
2510
|
+
}
|
|
2511
|
+
}
|
|
2376
2512
|
handleTabsRendered(pane) {
|
|
2377
2513
|
var _a;
|
|
2378
2514
|
if (this.reason !== ActionReason.drop) {
|
|
@@ -2577,7 +2713,11 @@ const IgcDockManager = class {
|
|
|
2577
2713
|
pane.unpinnedSize = minSize;
|
|
2578
2714
|
}
|
|
2579
2715
|
// If new pane size does not meet the size constraints, do not resize
|
|
2580
|
-
let
|
|
2716
|
+
let parent = this.service.getParent(pane);
|
|
2717
|
+
let offset = this.service.isSplitPaneIgnoringResizeConstraints(parent) ||
|
|
2718
|
+
this.isPaneSizeWithinConstraints(previousPane, event.detail, orientation, 'previous') ?
|
|
2719
|
+
this.splitterOffset * event.detail :
|
|
2720
|
+
0;
|
|
2581
2721
|
this.service.resizeFlyoutPane(offset);
|
|
2582
2722
|
let rect;
|
|
2583
2723
|
rect = splitter.previousElementSibling.getBoundingClientRect();
|
|
@@ -2613,7 +2753,9 @@ const IgcDockManager = class {
|
|
|
2613
2753
|
const sizeProperty = parentPane.orientation === locale.IgcSplitPaneOrientation.horizontal ? 'offsetWidth' : 'offsetHeight';
|
|
2614
2754
|
const sizeSum = paneComponents.reduce((s, p) => p[sizeProperty] + s, 0);
|
|
2615
2755
|
// If the new size is smaller or bigger that the size constraints, do not resize
|
|
2616
|
-
const offset =
|
|
2756
|
+
const offset = parentPane.useFixedSize ||
|
|
2757
|
+
this.isPaneSizeWithinConstraints(previousPane, event.detail, parentPane.orientation, 'previous') &&
|
|
2758
|
+
this.isPaneSizeWithinConstraints(nextPane, event.detail, parentPane.orientation) ? event.detail : 0;
|
|
2617
2759
|
let offsetPercentage = this.splitterOffset * offset / sizeSum;
|
|
2618
2760
|
let rtl = false;
|
|
2619
2761
|
if (this.element.dir !== '') {
|
|
@@ -2701,7 +2843,7 @@ const IgcDockManager = class {
|
|
|
2701
2843
|
}
|
|
2702
2844
|
this.shouldClearActivePane = false;
|
|
2703
2845
|
this.focusElement();
|
|
2704
|
-
const dragStarted = this.service.dragPaneStart(pane, rect, event.detail.clientX, event.detail.clientY);
|
|
2846
|
+
const dragStarted = this.service.dragPaneStart(pane, rect, event.detail.clientX, event.detail.clientY, this.anyPaneIgnoringResizeConstraints);
|
|
2705
2847
|
this.isDragging = true;
|
|
2706
2848
|
this.scheduleAfterRender(() => {
|
|
2707
2849
|
this.shouldClearActivePane = true;
|
|
@@ -2741,6 +2883,22 @@ const IgcDockManager = class {
|
|
|
2741
2883
|
if (event && !dragMoved) {
|
|
2742
2884
|
event.detail.cancel = true;
|
|
2743
2885
|
}
|
|
2886
|
+
// After successfull pane drag, check if there is a splitPane with useFixedSize = true
|
|
2887
|
+
// that is left with a single placeholder pane and remove it.
|
|
2888
|
+
// This would happen only when the last non placeholder pane of a split pane gets dragged.
|
|
2889
|
+
if (dragMoved) {
|
|
2890
|
+
const elements = this.element.shadowRoot.elementsFromPoint(clientX, clientY);
|
|
2891
|
+
const splitPanes = elements.filter(e => e.tagName.toLowerCase() === 'igc-split-pane-component');
|
|
2892
|
+
for (const sp of splitPanes) {
|
|
2893
|
+
const splitPane = this.panesElementMap.getByValue(sp);
|
|
2894
|
+
if (splitPane.useFixedSize &&
|
|
2895
|
+
splitPane.panes.length === 1 &&
|
|
2896
|
+
splitPane.panes[0].type === locale.IgcDockManagerPaneType.contentPane &&
|
|
2897
|
+
splitPane.panes[0].contentId === "placeholder") {
|
|
2898
|
+
this.service.closePane(splitPane.panes[0]);
|
|
2899
|
+
}
|
|
2900
|
+
}
|
|
2901
|
+
}
|
|
2744
2902
|
}
|
|
2745
2903
|
getInnerDropTargetParentRect() {
|
|
2746
2904
|
if (this.dropTargetPaneInfo && this.service.proximityDockPosition) {
|
|
@@ -2909,7 +3067,7 @@ const IgcDockManager = class {
|
|
|
2909
3067
|
tabsRect
|
|
2910
3068
|
};
|
|
2911
3069
|
this.handleDropPositionChange(event.detail.clientX, event.detail.clientY, event === null || event === void 0 ? void 0 : event.target);
|
|
2912
|
-
const tabMoved = this.service.dragTabMove(pane, event.detail, tabRectsInfo);
|
|
3070
|
+
const tabMoved = this.service.dragTabMove(pane, event.detail, tabRectsInfo, this.anyPaneIgnoringResizeConstraints);
|
|
2913
3071
|
if (event && !tabMoved) {
|
|
2914
3072
|
event.detail.cancel = true;
|
|
2915
3073
|
}
|
|
@@ -2938,6 +3096,9 @@ const IgcDockManager = class {
|
|
|
2938
3096
|
}
|
|
2939
3097
|
handleDropPositionChange(clientX, clientY, target) {
|
|
2940
3098
|
var _a;
|
|
3099
|
+
if (this.highlightedJoystick) {
|
|
3100
|
+
this.highlightedJoystick.style.boxShadow = '';
|
|
3101
|
+
}
|
|
2941
3102
|
const elements = clientX && clientY ?
|
|
2942
3103
|
this.element.shadowRoot.elementsFromPoint(clientX, clientY) :
|
|
2943
3104
|
null;
|
|
@@ -2974,13 +3135,17 @@ const IgcDockManager = class {
|
|
|
2974
3135
|
let indicatorTarget = null;
|
|
2975
3136
|
let dockingIndicatorElement = topElement.closest('igc-root-docking-indicator-component');
|
|
2976
3137
|
if (dockingIndicatorElement) {
|
|
3138
|
+
// root docking indicator
|
|
2977
3139
|
this.service.dockingIndicator = {
|
|
2978
3140
|
position: dockingIndicatorElement.position,
|
|
2979
3141
|
isRoot: true,
|
|
2980
|
-
direction: this.direction
|
|
3142
|
+
direction: this.direction,
|
|
2981
3143
|
};
|
|
3144
|
+
this.highlightedJoystick = dockingIndicatorElement;
|
|
3145
|
+
this.highlightedJoystick.style.boxShadow = 'inset 0 0 0 3px rgba(0,0,0,0.2), inset 0 0 0 25px rgba(100,149,237,0.2)';
|
|
2982
3146
|
}
|
|
2983
|
-
|
|
3147
|
+
else {
|
|
3148
|
+
// regular docking indicator
|
|
2984
3149
|
const joystickIcon = topElement.closest('igc-joystick-icon-component');
|
|
2985
3150
|
if (joystickIcon && !joystickIcon.empty) {
|
|
2986
3151
|
dockingIndicatorElement = joystickIcon;
|
|
@@ -2991,6 +3156,8 @@ const IgcDockManager = class {
|
|
|
2991
3156
|
};
|
|
2992
3157
|
const joystickIndicator = joystickIcon.closest('igc-joystick-indicator-component');
|
|
2993
3158
|
indicatorTarget = joystickIndicator.dropTargetPaneInfo;
|
|
3159
|
+
this.highlightedJoystick = joystickIcon;
|
|
3160
|
+
this.highlightedJoystick.style.boxShadow = 'inset 0 0 0 3px rgba(0,0,0,0.2), inset 0 0 0 25px rgba(100,149,237,0.2)';
|
|
2994
3161
|
}
|
|
2995
3162
|
}
|
|
2996
3163
|
if (dockingIndicatorElement &&
|
|
@@ -3272,7 +3439,7 @@ const IgcDockManager = class {
|
|
|
3272
3439
|
const maximized = this.maximizedPane === pane ||
|
|
3273
3440
|
(parentPane.type === locale.IgcDockManagerPaneType.tabGroupPane && this.maximizedPane === parentPane) ||
|
|
3274
3441
|
isFloating && isSingleFloatingContentPane && floatingPane === this.maximizedPane;
|
|
3275
|
-
return (index.h("igc-content-pane-component", { key: pane.id, contentId: pane.contentId, size: pane.size, isFlyout: isFlyout, unpinnedSize: pane.unpinnedSize, disabled: pane.disabled, isSingleFloating: isSingleFloatingContentPane, onMouseMove: this.togglePaneHeaderVisibility.bind(this, pane), onMouseLeave: this.removeHoveredPane.bind(this), ref: el => {
|
|
3442
|
+
return (index.h("igc-content-pane-component", { key: pane.id, contentId: pane.contentId, size: pane.size, isFlyout: isFlyout, unpinnedSize: pane.unpinnedSize, disabled: pane.disabled, isSingleFloating: isSingleFloatingContentPane, onMouseMove: this.togglePaneHeaderVisibility.bind(this, pane), onMouseLeave: this.removeHoveredPane.bind(this), parentUseFixedSize: this.service.isParentUseFixedSize(pane), ref: el => {
|
|
3276
3443
|
if (el) {
|
|
3277
3444
|
this.panesElementMap.set(pane, el);
|
|
3278
3445
|
this.contentPanesElementMap.set(pane, el);
|
|
@@ -3287,10 +3454,10 @@ const IgcDockManager = class {
|
|
|
3287
3454
|
pane.header), index.h("div", { class: "content", onMouseDown: this.handlePaneContentMouseDown.bind(this, pane), onScroll: this.handlePaneContentScroll.bind(this, pane) }, index.h("slot", { name: pane.contentId }))));
|
|
3288
3455
|
}
|
|
3289
3456
|
renderSplitter(parentPane, pane) {
|
|
3290
|
-
return (index.h("igc-splitter-component", { splitPaneOrientation: parentPane.orientation, onResizeStart: this.handleSplitterResizeStart.bind(this, pane), onResizeEnd: this.handleSplitterResizeEnd.bind(this, parentPane, pane), onFocusin: this.clearActivePane.bind(this) }));
|
|
3457
|
+
return (index.h("igc-splitter-component", { splitPaneOrientation: parentPane.orientation, onResizeStart: this.handleSplitterResizeStart.bind(this, pane), onResizeEnd: this.handleSplitterResizeEnd.bind(this, parentPane, pane), onFocusin: this.clearActivePane.bind(this), parentUseFixedSize: parentPane.useFixedSize }));
|
|
3291
3458
|
}
|
|
3292
3459
|
renderDocumentHost(docHost) {
|
|
3293
|
-
return (index.h("igc-document-host-component", { key: docHost.id, size: docHost.size, ref: el => {
|
|
3460
|
+
return (index.h("igc-document-host-component", { key: docHost.id, size: docHost.size, parentUseFixedSize: this.service.isParentUseFixedSize(docHost), ref: el => {
|
|
3294
3461
|
if (el) {
|
|
3295
3462
|
this.panesElementMap.set(docHost, el);
|
|
3296
3463
|
}
|
|
@@ -3314,7 +3481,7 @@ const IgcDockManager = class {
|
|
|
3314
3481
|
else {
|
|
3315
3482
|
contentIds.push(pane.contentId);
|
|
3316
3483
|
}
|
|
3317
|
-
return (allowEmpty || tabs.length > 0) && (index.h("igc-tabs-component", { key: pane.id, contentIds: contentIds, size: pane.size, selectedIndex: selectedIndex, hasHeaders: !isSingleTab, maximized: this.maximizedPane === pane, allowMaximize: position === IgcTabHeadersPosition.top && allowMaximize, onMaximizeMinimizeFocus: this.clearActivePane.bind(this), onMaximize: this.handleMaximize.bind(this, pane), onSelectedIndexChanged: this.handleTabSelectedIndexChanged.bind(this, pane), onHiddenTabSelected: this.handleHiddenTabSelected.bind(this, pane), onSelectedTabOutOfView: this.handleSelectedTabOutOfView.bind(this, pane), onRendered: this.handleTabsRendered.bind(this, pane), tabHeadersPosition: position, resourceStrings: this.resourceStrings, ref: el => {
|
|
3484
|
+
return (allowEmpty || tabs.length > 0) && (index.h("igc-tabs-component", { key: pane.id, contentIds: contentIds, size: pane.size, selectedIndex: selectedIndex, hasHeaders: !isSingleTab, parentUseFixedSize: this.service.isParentUseFixedSize(pane), maximized: this.maximizedPane === pane, allowMaximize: position === IgcTabHeadersPosition.top && allowMaximize, onMaximizeMinimizeFocus: this.clearActivePane.bind(this), onMaximize: this.handleMaximize.bind(this, pane), onSelectedIndexChanged: this.handleTabSelectedIndexChanged.bind(this, pane), onHiddenTabSelected: this.handleHiddenTabSelected.bind(this, pane), onSelectedTabOutOfView: this.handleSelectedTabOutOfView.bind(this, pane), onRendered: this.handleTabsRendered.bind(this, pane), tabHeadersPosition: position, resourceStrings: this.resourceStrings, ref: el => {
|
|
3318
3485
|
if (el) {
|
|
3319
3486
|
this.panesElementMap.set(pane, el);
|
|
3320
3487
|
}
|
|
@@ -3357,7 +3524,7 @@ const IgcDockManager = class {
|
|
|
3357
3524
|
}
|
|
3358
3525
|
renderSplitPane(splitPane, isFloating, isInDocumentHost) {
|
|
3359
3526
|
const panes = this.service.getSplitPaneVisibleChildren(splitPane);
|
|
3360
|
-
return (splitPane.allowEmpty || panes.length > 0) && (index.h("igc-split-pane-component", { key: splitPane.id, orientation: splitPane.orientation, size: splitPane.size, onRendered: this.handleSplitPaneRendered.bind(this, panes), ref: el => {
|
|
3527
|
+
return (splitPane.allowEmpty || panes.length > 0) && (index.h("igc-split-pane-component", { key: splitPane.id, orientation: splitPane.orientation, size: splitPane.size, useFixedSize: splitPane.useFixedSize, parentUseFixedSize: this.service.isParentUseFixedSize(splitPane), onRendered: this.handleSplitPaneRendered.bind(this, panes), ref: el => {
|
|
3361
3528
|
if (el) {
|
|
3362
3529
|
this.panesElementMap.set(splitPane, el);
|
|
3363
3530
|
}
|
|
@@ -3367,9 +3534,11 @@ const IgcDockManager = class {
|
|
|
3367
3534
|
paneComponent = this.renderSplitPane(p, isFloating, isInDocumentHost);
|
|
3368
3535
|
}
|
|
3369
3536
|
else if (p.type === locale.IgcDockManagerPaneType.contentPane) {
|
|
3370
|
-
paneComponent =
|
|
3371
|
-
this.
|
|
3372
|
-
|
|
3537
|
+
paneComponent = p.contentId === "placeholder" ?
|
|
3538
|
+
this.renderPlaceholder(p) :
|
|
3539
|
+
isInDocumentHost ?
|
|
3540
|
+
this.renderTabGroup(p, isFloating, true) :
|
|
3541
|
+
this.renderContentPane(p, isFloating, false);
|
|
3373
3542
|
}
|
|
3374
3543
|
else if (p.type === locale.IgcDockManagerPaneType.documentHost) {
|
|
3375
3544
|
paneComponent = this.renderDocumentHost(p);
|
|
@@ -3382,6 +3551,9 @@ const IgcDockManager = class {
|
|
|
3382
3551
|
paneComponent;
|
|
3383
3552
|
})));
|
|
3384
3553
|
}
|
|
3554
|
+
renderPlaceholder(pane) {
|
|
3555
|
+
return (index.h("igc-content-pane-component", { key: pane.id, contentId: pane.contentId, size: pane.size }));
|
|
3556
|
+
}
|
|
3385
3557
|
renderUnpinnedTabArea(location) {
|
|
3386
3558
|
const panes = [];
|
|
3387
3559
|
const isHorizontal = location === locale.IgcUnpinnedLocation.top || location === locale.IgcUnpinnedLocation.bottom;
|
|
@@ -3453,6 +3625,10 @@ const IgcDockManager = class {
|
|
|
3453
3625
|
renderDockingIndicators() {
|
|
3454
3626
|
const startPosition = this.direction !== 'rtl' ? locale.IgcDockingIndicatorPosition.left : locale.IgcDockingIndicatorPosition.right;
|
|
3455
3627
|
const endPosition = this.direction !== 'rtl' ? locale.IgcDockingIndicatorPosition.right : locale.IgcDockingIndicatorPosition.left;
|
|
3628
|
+
// Only show the joystick indicator if the target drop location is an empty split pane
|
|
3629
|
+
const hideJoystickIndicator = this.dropTargetPaneInfo &&
|
|
3630
|
+
this.dropTargetPaneInfo.pane.type == "splitPane" &&
|
|
3631
|
+
this.service.getSplitPaneVisibleChildren(this.dropTargetPaneInfo.pane).length;
|
|
3456
3632
|
return (index.h("div", { class: "docking-indicators-container", style: {
|
|
3457
3633
|
display: this.showDockingIndicators ? 'flex' : 'none'
|
|
3458
3634
|
} }, !this.documentOnlyDrag && !this.proximityDock && this.renderRootDockingIndicator(locale.IgcDockingIndicatorPosition.top), index.h("div", { style: {
|
|
@@ -3460,7 +3636,7 @@ const IgcDockManager = class {
|
|
|
3460
3636
|
display: 'flex',
|
|
3461
3637
|
flexDirection: 'row',
|
|
3462
3638
|
justifyContent: 'space-between'
|
|
3463
|
-
} }, !this.documentOnlyDrag && !this.proximityDock && this.renderRootDockingIndicator(startPosition), !this.documentOnlyDrag && !this.proximityDock && this.renderRootDockingIndicator(endPosition)), !this.documentOnlyDrag && !this.proximityDock && this.renderRootDockingIndicator(locale.IgcDockingIndicatorPosition.bottom), this.dropTargetPaneInfo && !this.proximityDock &&
|
|
3639
|
+
} }, !this.documentOnlyDrag && !this.proximityDock && this.renderRootDockingIndicator(startPosition), !this.documentOnlyDrag && !this.proximityDock && this.renderRootDockingIndicator(endPosition)), !this.documentOnlyDrag && !this.proximityDock && this.renderRootDockingIndicator(locale.IgcDockingIndicatorPosition.bottom), this.dropTargetPaneInfo && !this.proximityDock && !hideJoystickIndicator &&
|
|
3464
3640
|
index.h("igc-joystick-indicator-component", { dropTargetPaneInfo: this.dropTargetPaneInfo, documentOnlyDrag: this.documentOnlyDrag, allowCenterDock: this.allowInnerDock })));
|
|
3465
3641
|
}
|
|
3466
3642
|
renderContextMenu() {
|
|
@@ -3517,11 +3693,12 @@ const IgcDocumentHostComponent = class {
|
|
|
3517
3693
|
constructor(hostRef) {
|
|
3518
3694
|
index.registerInstance(this, hostRef);
|
|
3519
3695
|
this.size = undefined;
|
|
3696
|
+
this.parentUseFixedSize = false;
|
|
3520
3697
|
}
|
|
3521
3698
|
render() {
|
|
3522
3699
|
const size = this.size || this.size === 0 ? this.size : IGC_DEFAULT_PANE_SIZE;
|
|
3523
3700
|
return (index.h(index.Host, { role: "group", style: {
|
|
3524
|
-
flex: `${size} 1 ${size}px`
|
|
3701
|
+
flex: this.parentUseFixedSize ? `0 0 ${size}px` : `${size} 1 ${size}px`
|
|
3525
3702
|
} }));
|
|
3526
3703
|
}
|
|
3527
3704
|
};
|
|
@@ -4323,6 +4500,8 @@ const IgcSplitPaneComponent = class {
|
|
|
4323
4500
|
this.rendered = index.createEvent(this, "rendered", 7);
|
|
4324
4501
|
this.orientation = undefined;
|
|
4325
4502
|
this.size = undefined;
|
|
4503
|
+
this.useFixedSize = false;
|
|
4504
|
+
this.parentUseFixedSize = false;
|
|
4326
4505
|
}
|
|
4327
4506
|
componentDidRender() {
|
|
4328
4507
|
this.rendered.emit();
|
|
@@ -4331,7 +4510,7 @@ const IgcSplitPaneComponent = class {
|
|
|
4331
4510
|
const size = this.size || this.size === 0 ? this.size : IGC_DEFAULT_PANE_SIZE;
|
|
4332
4511
|
return (index.h(index.Host, { role: "group", style: {
|
|
4333
4512
|
flexDirection: this.orientation === locale.IgcSplitPaneOrientation.horizontal ? 'row' : 'column',
|
|
4334
|
-
flex: `${size} 1 ${size}px`
|
|
4513
|
+
flex: this.parentUseFixedSize ? `0 0 ${size}px` : `${size} 1 ${size}px`
|
|
4335
4514
|
}, part: "split-pane" }));
|
|
4336
4515
|
}
|
|
4337
4516
|
};
|
|
@@ -4383,6 +4562,7 @@ const IgcSplitterComponent = class {
|
|
|
4383
4562
|
this.showDragGhost = undefined;
|
|
4384
4563
|
this.splitPaneOrientation = undefined;
|
|
4385
4564
|
this.flyoutLocation = undefined;
|
|
4565
|
+
this.parentUseFixedSize = false;
|
|
4386
4566
|
}
|
|
4387
4567
|
connectedCallback() {
|
|
4388
4568
|
this.dragService = new IgcDragService(this.element);
|
|
@@ -4508,14 +4688,16 @@ const IgcSplitterComponent = class {
|
|
|
4508
4688
|
}
|
|
4509
4689
|
}
|
|
4510
4690
|
else {
|
|
4511
|
-
|
|
4512
|
-
|
|
4513
|
-
if (referencePaneSize
|
|
4514
|
-
this.dragOffset
|
|
4691
|
+
if (!this.parentUseFixedSize) {
|
|
4692
|
+
const referencePaneSize = !rtl || isVertical ? this.paneSizes[1] : this.paneSizes[0];
|
|
4693
|
+
if (referencePaneSize > IGC_RESIZING_MIN_SIZE) {
|
|
4694
|
+
if (referencePaneSize - this.dragOffset < IGC_RESIZING_MIN_SIZE) {
|
|
4695
|
+
this.dragOffset = referencePaneSize - IGC_RESIZING_MIN_SIZE;
|
|
4696
|
+
}
|
|
4697
|
+
}
|
|
4698
|
+
else {
|
|
4699
|
+
this.dragOffset = 0;
|
|
4515
4700
|
}
|
|
4516
|
-
}
|
|
4517
|
-
else {
|
|
4518
|
-
this.dragOffset = 0;
|
|
4519
4701
|
}
|
|
4520
4702
|
}
|
|
4521
4703
|
}
|
|
@@ -4797,6 +4979,7 @@ const IgcTabsComponent = class {
|
|
|
4797
4979
|
this.showHiddenTabsMenu = true;
|
|
4798
4980
|
this.resourceStrings = undefined;
|
|
4799
4981
|
this.contentIds = [];
|
|
4982
|
+
this.parentUseFixedSize = false;
|
|
4800
4983
|
}
|
|
4801
4984
|
selectedIndexPropertyChanged(newValue) {
|
|
4802
4985
|
this.handleSelectedIndexChanged(newValue);
|
|
@@ -4996,7 +5179,7 @@ const IgcTabsComponent = class {
|
|
|
4996
5179
|
bottom
|
|
4997
5180
|
}, ',');
|
|
4998
5181
|
return (index.h(index.Host, { role: "tablist", style: {
|
|
4999
|
-
flex: `${size} 1 ${size}px`
|
|
5182
|
+
flex: this.parentUseFixedSize ? `0 0 ${size}px` : `${size} 1 ${size}px`
|
|
5000
5183
|
}, exportparts: exportParts, part: parts }, top && this.renderTabHeaders(top), index.h("div", { part: tabsContentParts, class: "content" }, index.h("slot", { onSlotchange: this.slotChanged.bind(this) })), bottom && this.renderTabHeaders(top), this.renderHiddenTabsMenu()));
|
|
5001
5184
|
}
|
|
5002
5185
|
get el() { return index.getElement(this); }
|
|
@@ -5035,7 +5218,7 @@ const IgcUnpinnedPaneHeaderComponent = class {
|
|
|
5035
5218
|
};
|
|
5036
5219
|
IgcUnpinnedPaneHeaderComponent.style = unpinnedPaneHeaderComponentCss;
|
|
5037
5220
|
|
|
5038
|
-
const sampleComponentCss = ".sc-sample-component-h{display:flex;flex-direction:column;height:100%}";
|
|
5221
|
+
const sampleComponentCss = ".sc-sample-component-h{display:flex;flex-direction:column;height:100%}igc-dockmanager.sc-sample-component{margin:10px;border:1px solid black}";
|
|
5039
5222
|
|
|
5040
5223
|
/**
|
|
5041
5224
|
* @hidden
|
|
@@ -5360,128 +5543,723 @@ const SampleComponent = class {
|
|
|
5360
5543
|
};
|
|
5361
5544
|
this.layout3 = {
|
|
5362
5545
|
rootPane: {
|
|
5363
|
-
id: "root",
|
|
5364
5546
|
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5365
5547
|
orientation: locale.IgcSplitPaneOrientation.horizontal,
|
|
5548
|
+
useFixedSize: true,
|
|
5366
5549
|
panes: [
|
|
5550
|
+
// {
|
|
5551
|
+
// type: IgcDockManagerPaneType.splitPane,
|
|
5552
|
+
// useFixedSize: true,
|
|
5553
|
+
// orientation: IgcSplitPaneOrientation.vertical,
|
|
5554
|
+
// size: 300, // PIXELS
|
|
5555
|
+
// panes: [
|
|
5556
|
+
// {
|
|
5557
|
+
// type: IgcDockManagerPaneType.contentPane,
|
|
5558
|
+
// contentId: 'content1',
|
|
5559
|
+
// header: 'Content Pane 1',
|
|
5560
|
+
// size: 500 // PIXELS
|
|
5561
|
+
// },
|
|
5562
|
+
// {
|
|
5563
|
+
// type: IgcDockManagerPaneType.contentPane,
|
|
5564
|
+
// contentId: 'content2',
|
|
5565
|
+
// header: 'Content Pane 2',
|
|
5566
|
+
// size: 300 // PIXELS
|
|
5567
|
+
// }
|
|
5568
|
+
// ]
|
|
5569
|
+
// },
|
|
5367
5570
|
{
|
|
5368
5571
|
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5369
5572
|
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
5573
|
+
size: 450,
|
|
5574
|
+
panes: [
|
|
5575
|
+
{
|
|
5576
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5577
|
+
orientation: locale.IgcSplitPaneOrientation.horizontal,
|
|
5578
|
+
useFixedSize: true,
|
|
5579
|
+
size: 300,
|
|
5580
|
+
panes: [
|
|
5581
|
+
{
|
|
5582
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5583
|
+
contentId: 'content4',
|
|
5584
|
+
header: 'Content Pane 4',
|
|
5585
|
+
size: 400 // PIXELS
|
|
5586
|
+
}
|
|
5587
|
+
]
|
|
5588
|
+
},
|
|
5589
|
+
{
|
|
5590
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5591
|
+
contentId: 'content7',
|
|
5592
|
+
header: 'Content Pane 7',
|
|
5593
|
+
size: 450 // PIXELS
|
|
5594
|
+
}
|
|
5595
|
+
]
|
|
5596
|
+
}
|
|
5597
|
+
]
|
|
5598
|
+
},
|
|
5599
|
+
floatingPanes: [
|
|
5600
|
+
// {
|
|
5601
|
+
// type: IgcDockManagerPaneType.splitPane,
|
|
5602
|
+
// orientation: IgcSplitPaneOrientation.vertical,
|
|
5603
|
+
// useFixedSize: true,
|
|
5604
|
+
// // size: 950, // PIXELS
|
|
5605
|
+
// floatingHeight: 950,
|
|
5606
|
+
// floatingWidth: 650,
|
|
5607
|
+
// floatingLocation: { x: 200, y: 50 },
|
|
5608
|
+
// panes: [
|
|
5609
|
+
// {
|
|
5610
|
+
// type: IgcDockManagerPaneType.splitPane,
|
|
5611
|
+
// orientation: IgcSplitPaneOrientation.horizontal,
|
|
5612
|
+
// useFixedSize: true,
|
|
5613
|
+
// size: 400, // PIXELS
|
|
5614
|
+
// panes: [
|
|
5615
|
+
// {
|
|
5616
|
+
// type: IgcDockManagerPaneType.contentPane,
|
|
5617
|
+
// contentId: 'content12',
|
|
5618
|
+
// header: 'Content Pane 12',
|
|
5619
|
+
// size: 400 // PIXELS
|
|
5620
|
+
// },
|
|
5621
|
+
// {
|
|
5622
|
+
// type: IgcDockManagerPaneType.contentPane,
|
|
5623
|
+
// contentId: 'content13',
|
|
5624
|
+
// header: 'Content Pane 13',
|
|
5625
|
+
// size: 200 // PIXELS
|
|
5626
|
+
// }
|
|
5627
|
+
// ]
|
|
5628
|
+
// },
|
|
5629
|
+
// {
|
|
5630
|
+
// type: IgcDockManagerPaneType.splitPane,
|
|
5631
|
+
// orientation: IgcSplitPaneOrientation.vertical,
|
|
5632
|
+
// useFixedSize: true,
|
|
5633
|
+
// size: 500, // PIXELS
|
|
5634
|
+
// panes: [
|
|
5635
|
+
// {
|
|
5636
|
+
// type: IgcDockManagerPaneType.contentPane,
|
|
5637
|
+
// contentId: 'content11',
|
|
5638
|
+
// header: 'Content Pane 11',
|
|
5639
|
+
// size: 300 // PIXELS
|
|
5640
|
+
// },
|
|
5641
|
+
// ]
|
|
5642
|
+
// }
|
|
5643
|
+
// ]
|
|
5644
|
+
// }
|
|
5645
|
+
]
|
|
5646
|
+
};
|
|
5647
|
+
this.commonProps = {
|
|
5648
|
+
allowClose: false,
|
|
5649
|
+
allowMaximize: false,
|
|
5650
|
+
allowPinning: false,
|
|
5651
|
+
};
|
|
5652
|
+
this.bodyRect = document.body.getBoundingClientRect();
|
|
5653
|
+
this.bodyWidth = this.bodyRect.width - 36;
|
|
5654
|
+
this.bodyHeight = this.bodyRect.height - 36;
|
|
5655
|
+
this.layout4 = {
|
|
5656
|
+
rootPane: {
|
|
5657
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5658
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
5659
|
+
useFixedSize: true,
|
|
5660
|
+
panes: [
|
|
5661
|
+
{
|
|
5662
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5663
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
5664
|
+
useFixedSize: true,
|
|
5665
|
+
size: this.bodyHeight / 2,
|
|
5666
|
+
panes: [
|
|
5667
|
+
{
|
|
5668
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5669
|
+
contentId: 'content1',
|
|
5670
|
+
header: 'Content 1 Header',
|
|
5671
|
+
size: 260, // PIXELS
|
|
5672
|
+
},
|
|
5673
|
+
{
|
|
5674
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5675
|
+
orientation: locale.IgcSplitPaneOrientation.horizontal,
|
|
5676
|
+
size: 240 + 10,
|
|
5677
|
+
useFixedSize: true,
|
|
5678
|
+
panes: [
|
|
5679
|
+
{
|
|
5680
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5681
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
5682
|
+
size: this.bodyWidth / 3,
|
|
5683
|
+
panes: [
|
|
5684
|
+
{
|
|
5685
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5686
|
+
contentId: 'content2',
|
|
5687
|
+
header: 'Content 2 Header',
|
|
5688
|
+
size: 240, // PIXELS
|
|
5689
|
+
},
|
|
5690
|
+
],
|
|
5691
|
+
},
|
|
5692
|
+
{
|
|
5693
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5694
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
5695
|
+
useFixedSize: true,
|
|
5696
|
+
size: (this.bodyWidth * 2) / 3,
|
|
5697
|
+
panes: [
|
|
5698
|
+
{
|
|
5699
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5700
|
+
contentId: 'content3',
|
|
5701
|
+
header: 'Content 3 Header',
|
|
5702
|
+
size: 240, // PIXELS
|
|
5703
|
+
},
|
|
5704
|
+
],
|
|
5705
|
+
},
|
|
5706
|
+
// {
|
|
5707
|
+
// type: IgcDockManagerPaneType.contentPane,
|
|
5708
|
+
// contentId: 'content_not_used_2',
|
|
5709
|
+
// header: 'NOT USED',
|
|
5710
|
+
// // size: 0,
|
|
5711
|
+
// ...this.commonProps,
|
|
5712
|
+
// },
|
|
5713
|
+
],
|
|
5714
|
+
},
|
|
5715
|
+
{
|
|
5716
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5717
|
+
contentId: 'content4',
|
|
5718
|
+
header: 'Content 4 Header',
|
|
5719
|
+
size: 290, // PIXELS
|
|
5720
|
+
},
|
|
5721
|
+
{
|
|
5722
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5723
|
+
orientation: locale.IgcSplitPaneOrientation.horizontal,
|
|
5724
|
+
size: 240 + 10,
|
|
5725
|
+
panes: [
|
|
5726
|
+
{
|
|
5727
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5728
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
5729
|
+
size: this.bodyWidth / 3,
|
|
5730
|
+
panes: [
|
|
5731
|
+
{
|
|
5732
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5733
|
+
contentId: 'content5',
|
|
5734
|
+
header: 'Content 5 Header',
|
|
5735
|
+
size: 240, // PIXELS
|
|
5736
|
+
},
|
|
5737
|
+
],
|
|
5738
|
+
},
|
|
5739
|
+
{
|
|
5740
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5741
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
5742
|
+
size: (this.bodyWidth * 2) / 3,
|
|
5743
|
+
panes: [
|
|
5744
|
+
{
|
|
5745
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5746
|
+
contentId: 'content6',
|
|
5747
|
+
header: 'Content 6 Header',
|
|
5748
|
+
size: 240, // PIXELS
|
|
5749
|
+
},
|
|
5750
|
+
],
|
|
5751
|
+
},
|
|
5752
|
+
// {
|
|
5753
|
+
// type: IgcDockManagerPaneType.contentPane,
|
|
5754
|
+
// contentId: 'content_not_used_3',
|
|
5755
|
+
// header: 'NOT USED',
|
|
5756
|
+
// ...this.commonProps,
|
|
5757
|
+
// },
|
|
5758
|
+
],
|
|
5759
|
+
},
|
|
5760
|
+
{
|
|
5761
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5762
|
+
orientation: locale.IgcSplitPaneOrientation.horizontal,
|
|
5763
|
+
size: 240 + 10,
|
|
5764
|
+
panes: [
|
|
5765
|
+
{
|
|
5766
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5767
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
5768
|
+
size: this.bodyWidth / 2,
|
|
5769
|
+
panes: [
|
|
5770
|
+
{
|
|
5771
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5772
|
+
contentId: 'content7',
|
|
5773
|
+
header: 'Content 7 Header',
|
|
5774
|
+
size: 240, // PIXELS
|
|
5775
|
+
},
|
|
5776
|
+
],
|
|
5777
|
+
},
|
|
5778
|
+
{
|
|
5779
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5780
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
5781
|
+
size: this.bodyWidth / 2,
|
|
5782
|
+
panes: [
|
|
5783
|
+
{
|
|
5784
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5785
|
+
contentId: 'content8',
|
|
5786
|
+
header: 'Content 8 Header',
|
|
5787
|
+
size: 240, // PIXELS
|
|
5788
|
+
},
|
|
5789
|
+
],
|
|
5790
|
+
},
|
|
5791
|
+
// {
|
|
5792
|
+
// type: IgcDockManagerPaneType.contentPane,
|
|
5793
|
+
// contentId: 'content_not_used_4',
|
|
5794
|
+
// header: 'NOT USED',
|
|
5795
|
+
// ...this.commonProps,
|
|
5796
|
+
// },
|
|
5797
|
+
],
|
|
5798
|
+
},
|
|
5799
|
+
{
|
|
5800
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5801
|
+
contentId: 'content9',
|
|
5802
|
+
header: 'Content 9 Header',
|
|
5803
|
+
size: 290, // PIXELS
|
|
5804
|
+
},
|
|
5805
|
+
// {
|
|
5806
|
+
// type: IgcDockManagerPaneType.contentPane,
|
|
5807
|
+
// contentId: 'content_not_used_1',
|
|
5808
|
+
// header: 'NOT USED',
|
|
5809
|
+
// ...this.commonProps,
|
|
5810
|
+
// },
|
|
5811
|
+
],
|
|
5812
|
+
},
|
|
5813
|
+
],
|
|
5814
|
+
},
|
|
5815
|
+
floatingPanes: [],
|
|
5816
|
+
};
|
|
5817
|
+
this.layout5 = {
|
|
5818
|
+
rootPane: {
|
|
5819
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5820
|
+
orientation: locale.IgcSplitPaneOrientation.horizontal,
|
|
5821
|
+
panes: [
|
|
5822
|
+
{
|
|
5823
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5824
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
5825
|
+
useFixedSize: true,
|
|
5826
|
+
size: this.bodyWidth,
|
|
5827
|
+
panes: [
|
|
5828
|
+
{
|
|
5829
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5830
|
+
contentId: 'content1',
|
|
5831
|
+
header: 'Content 1 Header',
|
|
5832
|
+
size: 60, // PIXELS
|
|
5833
|
+
},
|
|
5834
|
+
{
|
|
5835
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5836
|
+
orientation: locale.IgcSplitPaneOrientation.horizontal,
|
|
5837
|
+
size: 240 + 10,
|
|
5838
|
+
useFixedSize: true,
|
|
5839
|
+
panes: [
|
|
5840
|
+
{
|
|
5841
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5842
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
5843
|
+
size: this.bodyWidth / 3,
|
|
5844
|
+
panes: [
|
|
5845
|
+
{
|
|
5846
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5847
|
+
contentId: 'content2',
|
|
5848
|
+
header: 'Content 2 Header',
|
|
5849
|
+
size: 240, // PIXELS
|
|
5850
|
+
},
|
|
5851
|
+
],
|
|
5852
|
+
},
|
|
5853
|
+
{
|
|
5854
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5855
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
5856
|
+
size: (this.bodyWidth * 2) / 3,
|
|
5857
|
+
panes: [
|
|
5858
|
+
{
|
|
5859
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5860
|
+
contentId: 'content3',
|
|
5861
|
+
header: 'Content 3 Header',
|
|
5862
|
+
size: 240, // PIXELS
|
|
5863
|
+
},
|
|
5864
|
+
],
|
|
5865
|
+
},
|
|
5866
|
+
Object.assign({ type: locale.IgcDockManagerPaneType.contentPane, contentId: 'content_not_used_2', header: 'NOT USED' }, this.commonProps),
|
|
5867
|
+
],
|
|
5868
|
+
},
|
|
5869
|
+
{
|
|
5870
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5871
|
+
contentId: 'content4',
|
|
5872
|
+
header: 'Content 4 Header',
|
|
5873
|
+
size: 290, // PIXELS
|
|
5874
|
+
},
|
|
5875
|
+
{
|
|
5876
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5877
|
+
orientation: locale.IgcSplitPaneOrientation.horizontal,
|
|
5878
|
+
size: 240 + 10,
|
|
5879
|
+
panes: [
|
|
5880
|
+
{
|
|
5881
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5882
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
5883
|
+
size: this.bodyWidth / 3,
|
|
5884
|
+
panes: [
|
|
5885
|
+
{
|
|
5886
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5887
|
+
contentId: 'content5',
|
|
5888
|
+
header: 'Content 5 Header',
|
|
5889
|
+
size: 240, // PIXELS
|
|
5890
|
+
},
|
|
5891
|
+
],
|
|
5892
|
+
},
|
|
5893
|
+
{
|
|
5894
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5895
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
5896
|
+
size: (this.bodyWidth * 2) / 3,
|
|
5897
|
+
panes: [
|
|
5898
|
+
{
|
|
5899
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5900
|
+
contentId: 'content6',
|
|
5901
|
+
header: 'Content 6 Header',
|
|
5902
|
+
size: 240, // PIXELS
|
|
5903
|
+
},
|
|
5904
|
+
],
|
|
5905
|
+
},
|
|
5906
|
+
Object.assign({ type: locale.IgcDockManagerPaneType.contentPane, contentId: 'content_not_used_3', header: 'NOT USED' }, this.commonProps),
|
|
5907
|
+
],
|
|
5908
|
+
},
|
|
5909
|
+
{
|
|
5910
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5911
|
+
orientation: locale.IgcSplitPaneOrientation.horizontal,
|
|
5912
|
+
size: 240 + 10,
|
|
5913
|
+
panes: [
|
|
5914
|
+
{
|
|
5915
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5916
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
5917
|
+
size: this.bodyWidth / 2,
|
|
5918
|
+
panes: [
|
|
5919
|
+
{
|
|
5920
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5921
|
+
contentId: 'content7',
|
|
5922
|
+
header: 'Content 7 Header',
|
|
5923
|
+
size: 240, // PIXELS
|
|
5924
|
+
},
|
|
5925
|
+
],
|
|
5926
|
+
},
|
|
5927
|
+
{
|
|
5928
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5929
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
5930
|
+
size: this.bodyWidth / 2,
|
|
5931
|
+
panes: [
|
|
5932
|
+
{
|
|
5933
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5934
|
+
contentId: 'content8',
|
|
5935
|
+
header: 'Content 8 Header',
|
|
5936
|
+
size: 240, // PIXELS
|
|
5937
|
+
},
|
|
5938
|
+
],
|
|
5939
|
+
},
|
|
5940
|
+
Object.assign({ type: locale.IgcDockManagerPaneType.contentPane, contentId: 'content_not_used_4', header: 'NOT USED' }, this.commonProps),
|
|
5941
|
+
],
|
|
5942
|
+
},
|
|
5943
|
+
{
|
|
5944
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5945
|
+
contentId: 'content9',
|
|
5946
|
+
header: 'Content 9 Header',
|
|
5947
|
+
size: 290, // PIXELS
|
|
5948
|
+
},
|
|
5949
|
+
Object.assign({ type: locale.IgcDockManagerPaneType.contentPane, contentId: 'content_not_used_1', header: 'NOT USED' }, this.commonProps),
|
|
5950
|
+
],
|
|
5951
|
+
},
|
|
5952
|
+
],
|
|
5953
|
+
},
|
|
5954
|
+
floatingPanes: [],
|
|
5955
|
+
};
|
|
5956
|
+
// UseFizedSize with DCH
|
|
5957
|
+
this.layout6 = {
|
|
5958
|
+
rootPane: {
|
|
5959
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5960
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
5961
|
+
useFixedSize: true,
|
|
5962
|
+
panes: [
|
|
5963
|
+
{
|
|
5964
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5965
|
+
orientation: locale.IgcSplitPaneOrientation.horizontal,
|
|
5966
|
+
useFixedSize: true,
|
|
5370
5967
|
size: 300,
|
|
5371
|
-
allowEmpty: true,
|
|
5372
5968
|
panes: [
|
|
5373
5969
|
{
|
|
5374
5970
|
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5375
|
-
|
|
5376
|
-
|
|
5971
|
+
contentId: "content1",
|
|
5972
|
+
header: "Content Pane 1",
|
|
5973
|
+
size: 300
|
|
5377
5974
|
},
|
|
5378
5975
|
{
|
|
5379
5976
|
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5380
|
-
|
|
5381
|
-
|
|
5977
|
+
contentId: "content2",
|
|
5978
|
+
header: "Content Pane 2",
|
|
5979
|
+
size: 700
|
|
5980
|
+
},
|
|
5981
|
+
]
|
|
5982
|
+
},
|
|
5983
|
+
{
|
|
5984
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5985
|
+
orientation: locale.IgcSplitPaneOrientation.horizontal,
|
|
5986
|
+
useFixedSize: true,
|
|
5987
|
+
size: 500,
|
|
5988
|
+
panes: [
|
|
5989
|
+
{
|
|
5990
|
+
type: locale.IgcDockManagerPaneType.documentHost,
|
|
5991
|
+
size: 508,
|
|
5992
|
+
rootPane: {
|
|
5993
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
5994
|
+
orientation: locale.IgcSplitPaneOrientation.horizontal,
|
|
5995
|
+
useFixedSize: true,
|
|
5996
|
+
allowEmpty: true,
|
|
5997
|
+
panes: [
|
|
5998
|
+
{
|
|
5999
|
+
type: locale.IgcDockManagerPaneType.tabGroupPane,
|
|
6000
|
+
size: 300,
|
|
6001
|
+
panes: [
|
|
6002
|
+
{
|
|
6003
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
6004
|
+
header: 'MainWindow.xaml',
|
|
6005
|
+
contentId: 'content7',
|
|
6006
|
+
documentOnly: true,
|
|
6007
|
+
// allowMaximize: false,
|
|
6008
|
+
},
|
|
6009
|
+
{
|
|
6010
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
6011
|
+
header: 'MainWindow.xaml.cs',
|
|
6012
|
+
contentId: 'content9',
|
|
6013
|
+
documentOnly: true,
|
|
6014
|
+
allowFloating: false
|
|
6015
|
+
}
|
|
6016
|
+
]
|
|
6017
|
+
},
|
|
6018
|
+
{
|
|
6019
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
6020
|
+
header: 'App.xaml',
|
|
6021
|
+
contentId: 'content8',
|
|
6022
|
+
allowMaximize: true,
|
|
6023
|
+
acceptsInnerDock: false,
|
|
6024
|
+
size: 200
|
|
6025
|
+
}
|
|
6026
|
+
]
|
|
6027
|
+
}
|
|
6028
|
+
},
|
|
6029
|
+
{
|
|
6030
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
6031
|
+
contentId: "content3",
|
|
6032
|
+
header: "Content Pane 3",
|
|
6033
|
+
size: 400
|
|
6034
|
+
},
|
|
6035
|
+
{
|
|
6036
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
6037
|
+
contentId: "content4",
|
|
6038
|
+
header: "Content Pane 4",
|
|
6039
|
+
size: 400
|
|
6040
|
+
}
|
|
6041
|
+
]
|
|
6042
|
+
},
|
|
6043
|
+
{
|
|
6044
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
6045
|
+
orientation: locale.IgcSplitPaneOrientation.horizontal,
|
|
6046
|
+
// useFixedSize: true,
|
|
6047
|
+
size: 300,
|
|
6048
|
+
panes: [
|
|
6049
|
+
{
|
|
6050
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
6051
|
+
contentId: "content5",
|
|
6052
|
+
header: "Content Pane 5",
|
|
6053
|
+
size: 500
|
|
5382
6054
|
},
|
|
5383
6055
|
{
|
|
5384
6056
|
type: locale.IgcDockManagerPaneType.contentPane,
|
|
5385
|
-
|
|
5386
|
-
|
|
6057
|
+
contentId: "content6",
|
|
6058
|
+
header: "Content Pane 6",
|
|
6059
|
+
size: 800
|
|
5387
6060
|
}
|
|
5388
6061
|
]
|
|
5389
6062
|
}
|
|
5390
6063
|
]
|
|
5391
|
-
}
|
|
6064
|
+
},
|
|
6065
|
+
floatingPanes: [],
|
|
6066
|
+
};
|
|
6067
|
+
// The layout used in 'useFixedSize' unit tests
|
|
6068
|
+
this.layout7 = {
|
|
6069
|
+
rootPane: {
|
|
6070
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
6071
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
6072
|
+
// useFixedSize: true,
|
|
6073
|
+
panes: [
|
|
6074
|
+
{
|
|
6075
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
6076
|
+
orientation: locale.IgcSplitPaneOrientation.horizontal,
|
|
6077
|
+
useFixedSize: true,
|
|
6078
|
+
panes: [
|
|
6079
|
+
{
|
|
6080
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
6081
|
+
contentId: "content1",
|
|
6082
|
+
header: "Content Pane 1",
|
|
6083
|
+
size: 400
|
|
6084
|
+
},
|
|
6085
|
+
{
|
|
6086
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
6087
|
+
contentId: "content2",
|
|
6088
|
+
header: "Content Pane 2",
|
|
6089
|
+
size: 600
|
|
6090
|
+
},
|
|
6091
|
+
]
|
|
6092
|
+
},
|
|
6093
|
+
{
|
|
6094
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
6095
|
+
orientation: locale.IgcSplitPaneOrientation.horizontal,
|
|
6096
|
+
panes: [
|
|
6097
|
+
{
|
|
6098
|
+
type: locale.IgcDockManagerPaneType.tabGroupPane,
|
|
6099
|
+
size: 400,
|
|
6100
|
+
panes: [
|
|
6101
|
+
{
|
|
6102
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
6103
|
+
contentId: "content3",
|
|
6104
|
+
header: "Content Pane 3"
|
|
6105
|
+
},
|
|
6106
|
+
{
|
|
6107
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
6108
|
+
contentId: "content4",
|
|
6109
|
+
header: "Content Pane 4",
|
|
6110
|
+
}
|
|
6111
|
+
]
|
|
6112
|
+
},
|
|
6113
|
+
{
|
|
6114
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
6115
|
+
contentId: "content5",
|
|
6116
|
+
header: "Content Pane 5",
|
|
6117
|
+
size: 600
|
|
6118
|
+
}
|
|
6119
|
+
]
|
|
6120
|
+
},
|
|
6121
|
+
{
|
|
6122
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
6123
|
+
contentId: "content6",
|
|
6124
|
+
header: "Content Pane 6"
|
|
6125
|
+
}
|
|
6126
|
+
]
|
|
6127
|
+
},
|
|
6128
|
+
floatingPanes: [{
|
|
6129
|
+
type: locale.IgcDockManagerPaneType.splitPane,
|
|
6130
|
+
orientation: locale.IgcSplitPaneOrientation.vertical,
|
|
6131
|
+
floatingHeight: 200,
|
|
6132
|
+
floatingWidth: 300,
|
|
6133
|
+
panes: [{
|
|
6134
|
+
type: locale.IgcDockManagerPaneType.contentPane,
|
|
6135
|
+
contentId: "content7",
|
|
6136
|
+
header: "Content Pane 7"
|
|
6137
|
+
}]
|
|
6138
|
+
}]
|
|
5392
6139
|
};
|
|
5393
|
-
this.layout = this.
|
|
6140
|
+
this.layout = this.layout6;
|
|
5394
6141
|
this.logEnabled = false;
|
|
5395
|
-
this.id = 100;
|
|
5396
|
-
this.foundElem = [];
|
|
5397
6142
|
this.hiddenPanes = [];
|
|
5398
6143
|
}
|
|
5399
|
-
|
|
6144
|
+
// private hideOnCloseCheckbox: HTMLInputElement;
|
|
6145
|
+
/*
|
|
6146
|
+
private hiddenPanesSelect: HTMLSelectElement;
|
|
6147
|
+
private savedLayout: string;
|
|
6148
|
+
|
|
6149
|
+
private saveLayout() {
|
|
5400
6150
|
this.savedLayout = JSON.stringify(this.dockManager.layout);
|
|
5401
6151
|
}
|
|
5402
|
-
|
|
6152
|
+
|
|
6153
|
+
private loadLayout() {
|
|
5403
6154
|
this.dockManager.layout = JSON.parse(this.savedLayout);
|
|
5404
6155
|
}
|
|
5405
|
-
|
|
6156
|
+
|
|
6157
|
+
private setActivePane() {
|
|
5406
6158
|
// this.dockManager.activePane = this.teamExplorerPane;
|
|
5407
6159
|
this.dockManager.activePane = this.unpinnedToolboxPane;
|
|
5408
6160
|
}
|
|
5409
|
-
|
|
6161
|
+
|
|
6162
|
+
private id = 100;
|
|
6163
|
+
private newId: string;
|
|
6164
|
+
|
|
6165
|
+
private addPane() {
|
|
5410
6166
|
this.newId = `content${this.id++}`;
|
|
5411
6167
|
const newDiv = this.createElement(this.newId, 'input');
|
|
5412
6168
|
this.dockManager.appendChild(newDiv);
|
|
6169
|
+
|
|
5413
6170
|
this.layout.floatingPanes[1].panes.push({
|
|
5414
|
-
type:
|
|
6171
|
+
type: IgcDockManagerPaneType.contentPane,
|
|
5415
6172
|
header: 'NewPane',
|
|
5416
6173
|
contentId: this.newId
|
|
5417
6174
|
});
|
|
5418
|
-
|
|
6175
|
+
|
|
6176
|
+
this.dockManager.layout = { ...this.layout };
|
|
5419
6177
|
}
|
|
5420
|
-
|
|
5421
|
-
|
|
6178
|
+
|
|
6179
|
+
private addTab() {
|
|
6180
|
+
this.findElement(this.layout.rootPane, IgcDockManagerPaneType.tabGroupPane);
|
|
6181
|
+
|
|
5422
6182
|
this.newId = `content${this.id++}`;
|
|
5423
6183
|
const newDiv = this.createElement(this.newId, 'button');
|
|
5424
6184
|
this.dockManager.appendChild(newDiv);
|
|
5425
|
-
|
|
6185
|
+
|
|
6186
|
+
const tabGroupPane = this.foundElem[0] as IgcTabGroupPane;
|
|
5426
6187
|
tabGroupPane.panes.push({
|
|
5427
|
-
type:
|
|
6188
|
+
type: IgcDockManagerPaneType.contentPane,
|
|
5428
6189
|
header: 'NewTab',
|
|
5429
6190
|
contentId: this.newId
|
|
5430
6191
|
});
|
|
5431
|
-
|
|
6192
|
+
|
|
6193
|
+
this.dockManager.layout = { ...this.layout };
|
|
5432
6194
|
}
|
|
5433
|
-
|
|
5434
|
-
|
|
5435
|
-
|
|
6195
|
+
|
|
6196
|
+
private disableContentPane() {
|
|
6197
|
+
this.findElement(this.layout.rootPane, IgcDockManagerPaneType.tabGroupPane);
|
|
6198
|
+
|
|
6199
|
+
const tabGroupPane = this.foundElem[0] as IgcTabGroupPane;
|
|
5436
6200
|
tabGroupPane.panes[0].disabled = true;
|
|
5437
|
-
this.dockManager.layout =
|
|
6201
|
+
this.dockManager.layout = { ...this.layout };
|
|
5438
6202
|
}
|
|
5439
|
-
|
|
6203
|
+
|
|
6204
|
+
private toggleProximityDock() {
|
|
5440
6205
|
this.dockManager.proximityDock = !this.dockManager.proximityDock;
|
|
5441
6206
|
}
|
|
5442
|
-
|
|
6207
|
+
|
|
6208
|
+
private focusPane() {
|
|
5443
6209
|
this.dockManager.focusPane('content12');
|
|
5444
6210
|
}
|
|
5445
|
-
|
|
5446
|
-
|
|
5447
|
-
|
|
5448
|
-
}
|
|
6211
|
+
|
|
6212
|
+
private foundElem: IgcDockManagerPane[] = [];
|
|
6213
|
+
private findElement(pane: IgcDockManagerPane, type: IgcDockManagerPaneType) {
|
|
6214
|
+
if (!pane) { return; }
|
|
6215
|
+
|
|
5449
6216
|
if (pane.type === type) {
|
|
5450
6217
|
this.foundElem.push(pane);
|
|
5451
6218
|
}
|
|
5452
|
-
|
|
6219
|
+
|
|
6220
|
+
if (pane.type === IgcDockManagerPaneType.tabGroupPane || pane.type === IgcDockManagerPaneType.splitPane) {
|
|
5453
6221
|
for (const c of pane.panes) {
|
|
5454
6222
|
this.findElement(c, type);
|
|
5455
6223
|
}
|
|
5456
6224
|
}
|
|
5457
|
-
|
|
6225
|
+
|
|
6226
|
+
if (pane.type === IgcDockManagerPaneType.documentHost) {
|
|
5458
6227
|
this.findElement(pane.rootPane, type);
|
|
5459
6228
|
}
|
|
5460
6229
|
}
|
|
5461
|
-
|
|
6230
|
+
|
|
6231
|
+
private showPane() {
|
|
5462
6232
|
const index = this.hiddenPanesSelect.selectedIndex;
|
|
6233
|
+
|
|
5463
6234
|
if (index >= 0) {
|
|
5464
6235
|
this.hiddenPanes[index].hidden = false;
|
|
5465
6236
|
this.hiddenPanes.splice(index, 1);
|
|
5466
6237
|
this.hiddenPanes = [...this.hiddenPanes];
|
|
5467
|
-
this.dockManager.layout =
|
|
6238
|
+
this.dockManager.layout = { ...this.dockManager.layout };
|
|
5468
6239
|
}
|
|
5469
6240
|
}
|
|
5470
|
-
|
|
6241
|
+
|
|
6242
|
+
private showAllPanes() {
|
|
5471
6243
|
if (this.hiddenPanes.length > 0) {
|
|
5472
6244
|
for (const pane of this.hiddenPanes) {
|
|
5473
6245
|
pane.hidden = false;
|
|
5474
6246
|
}
|
|
5475
6247
|
this.hiddenPanes = [];
|
|
5476
|
-
this.dockManager.layout =
|
|
6248
|
+
this.dockManager.layout = { ...this.dockManager.layout };
|
|
5477
6249
|
}
|
|
5478
6250
|
}
|
|
5479
|
-
|
|
6251
|
+
|
|
6252
|
+
private toggleInBoundaries() {
|
|
5480
6253
|
this.dockManager.containedInBoundaries = !this.dockManager.containedInBoundaries;
|
|
5481
6254
|
}
|
|
5482
|
-
|
|
6255
|
+
|
|
6256
|
+
// private toggleUseFixedSize() {
|
|
6257
|
+
// this.dockManager.useFixedSize = !this.dockManager.useFixedSize;
|
|
6258
|
+
// }
|
|
6259
|
+
|
|
6260
|
+
private createElement(content: string, typeOfElement: string): HTMLElement {
|
|
5483
6261
|
const someContent = document.createTextNode(content);
|
|
5484
|
-
let elem;
|
|
6262
|
+
let elem: HTMLElement;
|
|
5485
6263
|
switch (typeOfElement) {
|
|
5486
6264
|
case ('button'):
|
|
5487
6265
|
elem = document.createElement('button');
|
|
@@ -5491,22 +6269,25 @@ const SampleComponent = class {
|
|
|
5491
6269
|
elem = document.createElement('input');
|
|
5492
6270
|
break;
|
|
5493
6271
|
}
|
|
6272
|
+
|
|
5494
6273
|
const divContent = document.createElement('div');
|
|
5495
6274
|
divContent.appendChild(elem ? elem : someContent);
|
|
5496
6275
|
divContent.setAttribute('slot', content);
|
|
5497
6276
|
divContent.setAttribute('style', 'width: 100%; height: 100%;');
|
|
6277
|
+
|
|
5498
6278
|
return divContent;
|
|
5499
6279
|
}
|
|
6280
|
+
*/
|
|
5500
6281
|
handlePaneClose(event) {
|
|
5501
6282
|
this.log(event);
|
|
5502
|
-
if (this.hideOnCloseCheckbox.checked) {
|
|
5503
|
-
|
|
5504
|
-
|
|
5505
|
-
|
|
5506
|
-
|
|
5507
|
-
|
|
5508
|
-
|
|
5509
|
-
}
|
|
6283
|
+
// if (this.hideOnCloseCheckbox.checked) {
|
|
6284
|
+
// for (const pane of event.detail.panes) {
|
|
6285
|
+
// pane.hidden = true;
|
|
6286
|
+
// this.hiddenPanes.splice(0, 0, pane);
|
|
6287
|
+
// this.hiddenPanes = [...this.hiddenPanes];
|
|
6288
|
+
// }
|
|
6289
|
+
// event.preventDefault();
|
|
6290
|
+
// }
|
|
5510
6291
|
// const panes = event.detail.panes;
|
|
5511
6292
|
// const confirmed = confirm(`Are you sure you want to close panes '${panes.map(p => p.header).join(', ')}'?`);
|
|
5512
6293
|
// // event.detail.panes = [panes[0]];
|
|
@@ -5588,13 +6369,11 @@ const SampleComponent = class {
|
|
|
5588
6369
|
}
|
|
5589
6370
|
}
|
|
5590
6371
|
render() {
|
|
5591
|
-
return (index.h(index.Host, null, index.h("
|
|
5592
|
-
return (index.h("option", { value: p.id }, p.header));
|
|
5593
|
-
})), index.h("button", { onClick: () => this.showPane() }, "Show Pane"), index.h("button", { onClick: () => this.showAllPanes() }, "Show All Panes"), index.h("button", { onClick: () => this.toggleInBoundaries() }, "Toggle In Boundaries")), index.h("igc-dockmanager", { layout: this.layout, onPaneClose: this.handlePaneClose.bind(this), onPaneScroll: this.handlePaneScroll.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), onSplitterResizeEnd: this.handleSplitterResizeEnd.bind(this), onFloatingPaneResizeStart: this.handleFloatingPaneResizeStart.bind(this), onFloatingPaneResizeMove: this.handleFloatingPaneResizeMove.bind(this), onFloatingPaneResizeEnd: this.handleFloatingPaneResizeEnd.bind(this), onLayoutChange: this.handleLayoutChange.bind(this),
|
|
6372
|
+
return (index.h(index.Host, null, index.h("igc-dockmanager", { layout: this.layout, onPaneClose: this.handlePaneClose.bind(this), onPaneScroll: this.handlePaneScroll.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), onSplitterResizeEnd: this.handleSplitterResizeEnd.bind(this), onFloatingPaneResizeStart: this.handleFloatingPaneResizeStart.bind(this), onFloatingPaneResizeMove: this.handleFloatingPaneResizeMove.bind(this), onFloatingPaneResizeEnd: this.handleFloatingPaneResizeEnd.bind(this), onLayoutChange: this.handleLayoutChange.bind(this),
|
|
5594
6373
|
// resourceStrings={this.getCustomResourceStrings()}
|
|
5595
6374
|
ref: el => this.dockManager = el,
|
|
5596
6375
|
// allowFloatingPanesResize={false}
|
|
5597
|
-
showHeaderIconOnHover: 'closeOnly' }, index.h("div", { slot: "header1" }, index.h("span", { style: { color: 'red' } }, "Solution Explorer"), index.h("button", null, "H")), index.h("div", { slot: "tabHeader1" }, index.h("span", { style: { color: 'orange' } }, "Solution Explorer"), index.h("button", null, "T")), index.h("div", { slot: "unpinnedHeader1" }, index.h("span", { style: { color: 'blue' } }, "Solution Explorer"), index.h("button", null, "U")), index.h("
|
|
6376
|
+
showHeaderIconOnHover: 'closeOnly' }, index.h("div", { slot: "header1" }, index.h("span", { style: { color: 'red' } }, "Solution Explorer"), index.h("button", null, "H")), index.h("div", { slot: "tabHeader1" }, index.h("span", { style: { color: 'orange' } }, "Solution Explorer"), index.h("button", null, "T")), index.h("div", { slot: "unpinnedHeader1" }, index.h("span", { style: { color: 'blue' } }, "Solution Explorer"), index.h("button", null, "U")), index.h("div", { slot: "toolboxHeader" }, index.h("span", null, "[U] Toolbox")), index.h("div", { slot: "teamExplorerHeader" }, index.h("span", null, "[U] Team Explorer")), index.h("button", { style: { background: 'pink' }, slot: "tabHeaderCloseButton" }, "Y"), index.h("div", { slot: "content1" }, "Content 1"), index.h("div", { slot: "content2" }, "Content 2"), index.h("div", { slot: "content3" }, "Content 3"), index.h("div", { slot: "content4" }, "Content 4"), index.h("div", { slot: "content5" }, "Content 5"), index.h("div", { slot: "content6" }, "Content 6"), index.h("div", { slot: "content7" }, "Content 7"), index.h("div", { slot: "content8" }, "Content 8"), index.h("div", { slot: "content9" }, "Content 9"), index.h("div", { slot: "content_not_used_1" }), index.h("div", { slot: "content_not_used_2" }), index.h("div", { slot: "content_not_used_3" }), index.h("div", { slot: "content_not_used_4" }))));
|
|
5598
6377
|
}
|
|
5599
6378
|
};
|
|
5600
6379
|
SampleComponent.style = sampleComponentCss;
|