igniteui-dockmanager 1.15.0-beta.3 → 1.15.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.
Files changed (51) hide show
  1. package/dist/cjs/igc-button-component_20.cjs.entry.js +114 -673
  2. package/dist/cjs/igc-button-component_20.cjs.entry.js.map +1 -1
  3. package/dist/cjs/igniteui-dockmanager.cjs.js +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/locale-98a30720.js.map +1 -1
  6. package/dist/collection/components/dockmanager/dockmanager-component.css +1 -6
  7. package/dist/collection/components/dockmanager/dockmanager-component.js +14 -87
  8. package/dist/collection/components/dockmanager/dockmanager-component.js.map +1 -1
  9. package/dist/collection/components/dockmanager/dockmanager.public-interfaces.js.map +1 -1
  10. package/dist/collection/components/dockmanager/dockmanager.service.js +28 -67
  11. package/dist/collection/components/dockmanager/dockmanager.service.js.map +1 -1
  12. package/dist/collection/components/dockmanager/dockmanager.service.spec.js +7 -0
  13. package/dist/collection/components/dockmanager/dockmanager.service.spec.js.map +1 -1
  14. package/dist/collection/components/dockmanager/panes/content-pane-component.js +1 -20
  15. package/dist/collection/components/dockmanager/panes/content-pane-component.js.map +1 -1
  16. package/dist/collection/components/dockmanager/panes/document-host-component.js +1 -20
  17. package/dist/collection/components/dockmanager/panes/document-host-component.js.map +1 -1
  18. package/dist/collection/components/dockmanager/panes/split-pane-component.js +1 -39
  19. package/dist/collection/components/dockmanager/panes/split-pane-component.js.map +1 -1
  20. package/dist/collection/components/dockmanager/panes/splitter-component.js +7 -28
  21. package/dist/collection/components/dockmanager/panes/splitter-component.js.map +1 -1
  22. package/dist/collection/components/sample-component/sample-component.css +4 -39
  23. package/dist/collection/components/sample-component/sample-component.js +49 -492
  24. package/dist/collection/components/sample-component/sample-component.js.map +1 -1
  25. package/dist/collection/components/tabs/tabs-component.js +5 -20
  26. package/dist/collection/components/tabs/tabs-component.js.map +1 -1
  27. package/dist/esm/igc-button-component_20.entry.js +108 -667
  28. package/dist/esm/igc-button-component_20.entry.js.map +1 -1
  29. package/dist/esm/igniteui-dockmanager.js +1 -1
  30. package/dist/esm/loader.js +1 -1
  31. package/dist/esm/locale-81ccabef.js.map +1 -1
  32. package/dist/igniteui-dockmanager/igniteui-dockmanager.esm.js +1 -1
  33. package/dist/igniteui-dockmanager/igniteui-dockmanager.esm.js.map +1 -1
  34. package/dist/igniteui-dockmanager/p-b20b97f6.entry.js +2 -0
  35. package/dist/igniteui-dockmanager/p-b20b97f6.entry.js.map +1 -0
  36. package/dist/igniteui-dockmanager/p-f09ed94c.js.map +1 -1
  37. package/dist/types/components/dockmanager/dockmanager-component.d.ts +0 -6
  38. package/dist/types/components/dockmanager/dockmanager.public-interfaces.d.ts +0 -5
  39. package/dist/types/components/dockmanager/dockmanager.service.d.ts +2 -4
  40. package/dist/types/components/dockmanager/panes/content-pane-component.d.ts +0 -1
  41. package/dist/types/components/dockmanager/panes/document-host-component.d.ts +0 -1
  42. package/dist/types/components/dockmanager/panes/split-pane-component.d.ts +0 -2
  43. package/dist/types/components/dockmanager/panes/splitter-component.d.ts +0 -1
  44. package/dist/types/components/sample-component/sample-component.d.ts +19 -9
  45. package/dist/types/components/tabs/tabs-component.d.ts +0 -1
  46. package/dist/types/components.d.ts +0 -12
  47. package/loader/cdn.js +2 -2
  48. package/loader/index.cjs.js +2 -2
  49. package/package.json +7 -4
  50. package/dist/igniteui-dockmanager/p-5f322c25.entry.js +0 -2
  51. package/dist/igniteui-dockmanager/p-5f322c25.entry.js.map +0 -1
@@ -130,7 +130,6 @@ const IgcContentPaneComponent = class {
130
130
  this.disabled = false;
131
131
  this.isSingleFloating = false;
132
132
  this.contentId = undefined;
133
- this.parentIgnoreResizeConstraints = false;
134
133
  }
135
134
  componentDidRender() {
136
135
  this.rendered.emit();
@@ -145,7 +144,7 @@ const IgcContentPaneComponent = class {
145
144
  'single-floating': this.isSingleFloating
146
145
  });
147
146
  return (index.h(index.Host, { role: "group", "aria-label": this.header, "aria-disabled": this.disabled ? 'true' : 'false', tabindex: this.disabled ? -1 : 0, style: {
148
- flex: this.isFlyout ? `0 1 ${unpinnedSize}px` : this.parentIgnoreResizeConstraints ? `0 0 ${size}px` : `${size} 1 ${size}px`
147
+ flex: this.isFlyout ? `0 1 ${unpinnedSize}px` : `${size} 1 ${size}px`
149
148
  }, part: parts }, index.h("slot", { name: "header" }), index.h("slot", null)));
150
149
  }
151
150
  };
@@ -506,6 +505,10 @@ class IgcDockManagerService {
506
505
  parent.panes.splice(index, 1);
507
506
  if (parent.panes.length === 0) {
508
507
  if (parent.allowEmpty) {
508
+ if (parent === this.dockManager.maximizedPane) {
509
+ this.dockManager.maximizedPane = null;
510
+ parent.isMaximized = false;
511
+ }
509
512
  const rootParent = this.getRootParent(pane);
510
513
  if (this.isFloatingPane(rootParent)) {
511
514
  this.removeFloatingPaneIfEmpty(rootParent);
@@ -543,8 +546,7 @@ class IgcDockManagerService {
543
546
  const floatingPane = {
544
547
  type: locale.IgcDockManagerPaneType.splitPane,
545
548
  orientation: locale.IgcSplitPaneOrientation.vertical,
546
- panes: [content],
547
- size: content.size
549
+ panes: [content]
548
550
  };
549
551
  floatingPane.floatingLocation = location;
550
552
  floatingPane.floatingWidth = width;
@@ -563,6 +565,8 @@ class IgcDockManagerService {
563
565
  return panes;
564
566
  }
565
567
  getChildContentPanesRecursive(pane, children) {
568
+ if (!pane.panes)
569
+ return;
566
570
  for (const child of pane.panes) {
567
571
  if (child.type === locale.IgcDockManagerPaneType.contentPane) {
568
572
  children.push(child);
@@ -698,41 +702,23 @@ class IgcDockManagerService {
698
702
  panes: isDockingBefore ?
699
703
  [paneToDock, targetPane] :
700
704
  [targetPane, paneToDock],
701
- size: targetPane.size || targetParent.size
705
+ size: targetPane.size
702
706
  };
703
707
  targetParent.panes[paneIndex] = newSplitPane;
704
708
  }
705
- if (!this.shouldIgnoreResizeConstraints(targetPane)) {
706
- targetPane.size = undefined;
707
- paneToDock.size = undefined;
708
- }
709
- // simplifying nested split panes
710
- const parentSplitPane = this.getParent(targetParent);
711
- if (parentSplitPane &&
712
- parentSplitPane.type === locale.IgcDockManagerPaneType.splitPane &&
713
- parentSplitPane.panes.length === 1 &&
714
- parentSplitPane.allowEmpty === targetParent.allowEmpty &&
715
- parentSplitPane.size === targetParent.size) {
716
- parentSplitPane.orientation = targetParent.orientation;
717
- parentSplitPane.panes = targetParent.panes;
718
- }
719
- }
720
- }
721
- shouldIgnoreResizeConstraints(pane) {
722
- if (pane.type === locale.IgcDockManagerPaneType.splitPane) {
723
- if (pane.ignoreResizeConstraints) {
724
- return true;
725
- }
726
- for (let i = 0; i < pane.panes.length; i++) {
727
- if (this.shouldIgnoreResizeConstraints(pane.panes[i])) {
728
- return true;
729
- }
730
- }
709
+ targetPane.size = undefined;
710
+ paneToDock.size = undefined;
731
711
  }
732
- else if (pane.type === locale.IgcDockManagerPaneType.documentHost) {
733
- this.shouldIgnoreResizeConstraints(pane.rootPane);
712
+ // simplifying nested split panes
713
+ const parentSplitPane = this.getParent(targetParent);
714
+ if (parentSplitPane &&
715
+ parentSplitPane.type === locale.IgcDockManagerPaneType.splitPane &&
716
+ parentSplitPane.panes.length === 1 &&
717
+ parentSplitPane.allowEmpty === targetParent.allowEmpty &&
718
+ parentSplitPane.size === targetParent.size) {
719
+ parentSplitPane.orientation = targetParent.orientation;
720
+ parentSplitPane.panes = targetParent.panes;
734
721
  }
735
- return false;
736
722
  }
737
723
  updateLayout() {
738
724
  this.dockManager.layout = Object.assign({}, this.dockManager.layout);
@@ -817,9 +803,7 @@ class IgcDockManagerService {
817
803
  const sizeSum = paneSizes.reduce((p, c) => c + p, 0);
818
804
  const calcDelta = deltaPercentage * sizeSum;
819
805
  childPanes[paneIndex - 1].size = paneSizes[paneIndex - 1] + calcDelta;
820
- if (!parentPane.ignoreResizeConstraints) {
821
- childPanes[paneIndex].size = paneSizes[paneIndex] - calcDelta;
822
- }
806
+ childPanes[paneIndex].size = paneSizes[paneIndex] - calcDelta;
823
807
  this.updateLayout();
824
808
  }
825
809
  togglePin(pane, unpinBehavior = locale.IgcPaneActionBehavior.allPanes) {
@@ -863,38 +847,16 @@ class IgcDockManagerService {
863
847
  this.updateLayout();
864
848
  }
865
849
  }
866
- checkIgnoreResizeConstraintsParent(pane) {
867
- const parent = this.getParent(pane);
868
- if (!parent) {
869
- return null;
870
- }
871
- // If the pane to close is the last non-placeholder pane of a split pane, close the whole split pane.
872
- // Also check if the pane to close is inside a split pane and close the top split pane that holds the placeholder.
873
- if (parent.type === locale.IgcDockManagerPaneType.splitPane && parent.panes.length === 2) {
874
- const isPlaceholderPresent = parent.panes.some(p => p.type === locale.IgcDockManagerPaneType.contentPane && p.contentId === "placeholder");
875
- const isValidContentPane = parent.panes.every(p => p.type === locale.IgcDockManagerPaneType.contentPane ||
876
- p.type === locale.IgcDockManagerPaneType.tabGroupPane ||
877
- (p.type === locale.IgcDockManagerPaneType.splitPane && p.panes.length === 1 && p.panes[0].type === locale.IgcDockManagerPaneType.contentPane));
878
- if (isPlaceholderPresent && isValidContentPane) {
879
- return parent;
880
- }
881
- }
882
- return this.checkIgnoreResizeConstraintsParent(parent);
883
- }
884
850
  closePane(pane) {
885
851
  let paneToRemove = pane;
886
852
  let closeAll = this.dockManager.closeBehavior !== locale.IgcPaneActionBehavior.selectedPane;
887
853
  if (pane.type === locale.IgcDockManagerPaneType.contentPane && pane !== this.dockManager.flyoutPane) {
888
- const parent = this.getParent(pane);
889
- const ignoreResizeConstraintPaneTargetParent = this.checkIgnoreResizeConstraintsParent(pane);
890
- if (ignoreResizeConstraintPaneTargetParent !== null) {
891
- paneToRemove = ignoreResizeConstraintPaneTargetParent;
892
- }
893
- else if (parent.type === locale.IgcDockManagerPaneType.tabGroupPane && closeAll) {
854
+ const parent = this.paneParentMap.get(pane);
855
+ if (parent.type === locale.IgcDockManagerPaneType.tabGroupPane && closeAll) {
894
856
  paneToRemove = parent;
895
857
  }
896
858
  }
897
- const paneRemoved = paneToRemove.type === locale.IgcDockManagerPaneType.tabGroupPane || paneToRemove.type === locale.IgcDockManagerPaneType.splitPane ?
859
+ const paneRemoved = paneToRemove.type === locale.IgcDockManagerPaneType.tabGroupPane ?
898
860
  this.removeAllowedPanes(pane, paneToRemove) :
899
861
  this.emitPaneClose(pane, [paneToRemove]);
900
862
  if ((paneRemoved || pane.hidden) && pane === this.dockManager.flyoutPane) {
@@ -1237,6 +1199,8 @@ class IgcDockManagerService {
1237
1199
  }
1238
1200
  bringFloatingPaneOnTop(pane) {
1239
1201
  const floatingPanes = this.dockManager.layout.floatingPanes;
1202
+ if (!floatingPanes)
1203
+ return;
1240
1204
  const floatingPaneZIndicesMap = this.dockManager.floatingPaneZIndicesMap;
1241
1205
  const oldZIndex = floatingPaneZIndicesMap.get(pane);
1242
1206
  for (const p of floatingPanes) {
@@ -1263,10 +1227,9 @@ class IgcDockManagerService {
1263
1227
  }
1264
1228
  return items;
1265
1229
  }
1266
- dragPaneStart(pane, rect, clientX, clientY, anyPaneIgnoringResizeConstraints = false) {
1230
+ dragPaneStart(pane, rect, clientX, clientY) {
1267
1231
  var _a;
1268
- if (this.dockManager.maximizedPane ||
1269
- (anyPaneIgnoringResizeConstraints && !this.isFloatingPane(this.getRootParent(pane)))) {
1232
+ if (this.dockManager.maximizedPane) {
1270
1233
  return false;
1271
1234
  }
1272
1235
  let panes;
@@ -1496,10 +1459,7 @@ class IgcDockManagerService {
1496
1459
  this.draggedPanes = [pane];
1497
1460
  return true;
1498
1461
  }
1499
- dragTabMove(pane, args, rects, anyPaneIgnoringResizeConstraints = false) {
1500
- if (anyPaneIgnoringResizeConstraints && !this.isFloatingPane(this.getRootParent(pane))) {
1501
- return false;
1502
- }
1462
+ dragTabMove(pane, args, rects) {
1503
1463
  const clientX = args.clientX;
1504
1464
  const clientY = args.clientY;
1505
1465
  const offsetX = args.offsetX;
@@ -2006,7 +1966,7 @@ class IgcDockManagerKeyboardService {
2006
1966
  }
2007
1967
  }
2008
1968
 
2009
- 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)}";
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%;overflow:hidden}.pane-container--vertical{flex-direction:column}.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)}";
2010
1970
 
2011
1971
  var ActionReason;
2012
1972
  (function (ActionReason) {
@@ -2049,7 +2009,6 @@ const IgcDockManager = class {
2049
2009
  this.resizeObserver = new ResizeObserver(this.restrictFloatingPaneSize.bind(this));
2050
2010
  this.proximityDockThreshold = 50;
2051
2011
  this.proximityOuterDockThreshold = 25;
2052
- this.anyPaneIgnoringResizeConstraints = false;
2053
2012
  this.templatableComponents = [
2054
2013
  {
2055
2014
  slot: 'paneHeaderCloseButton',
@@ -2243,7 +2202,7 @@ const IgcDockManager = class {
2243
2202
  const panes = this.draggedPane.type === locale.IgcDockManagerPaneType.contentPane ?
2244
2203
  [this.draggedPane] :
2245
2204
  this.service.getChildContentPanes(this.draggedPane);
2246
- this.showDockingIndicators = panes.every(p => p.allowDocking !== false) && !this.anyPaneIgnoringResizeConstraints;
2205
+ this.showDockingIndicators = panes.every(p => p.allowDocking !== false);
2247
2206
  this.documentOnlyDrag = panes.some(p => p.documentOnly);
2248
2207
  }
2249
2208
  else {
@@ -2371,7 +2330,6 @@ const IgcDockManager = class {
2371
2330
  this.contextMenuMeta = null;
2372
2331
  this.navigationPaneMeta = null;
2373
2332
  if (this.layout) {
2374
- this.updateLayout();
2375
2333
  this.layoutChanged();
2376
2334
  }
2377
2335
  if (!this.resourceStrings) {
@@ -2415,47 +2373,6 @@ const IgcDockManager = class {
2415
2373
  focusElement() {
2416
2374
  this.element.focus();
2417
2375
  }
2418
- updateLayout() {
2419
- //Check for ignoreResizeConstraints in the layout and create a placeholder pane for resizing.
2420
- this.checkAndAddPlaceholderPane(this.layout.rootPane);
2421
- for (const p of this.layout.floatingPanes) {
2422
- // Do not add a placeholder pane for floating pane's root splitPane
2423
- p.panes.forEach(cp => this.checkAndAddPlaceholderPane(cp));
2424
- // Should we add a resolved prop instead of setting ignoreResizeConstraints to false?
2425
- // Used to prevent the root parent splitPane of having flex grow and shrink set to 0 which breaks floating pane resizing.
2426
- p.ignoreResizeConstraints = false;
2427
- }
2428
- }
2429
- isSplitPaneIgnoringResizeConstraints(pane) {
2430
- return pane && pane.type === locale.IgcDockManagerPaneType.splitPane && pane.ignoreResizeConstraints;
2431
- }
2432
- isParentIgnoreResizeConstraints(pane) {
2433
- const parent = this.service.getParent(pane);
2434
- return this.isSplitPaneIgnoringResizeConstraints(parent);
2435
- }
2436
- checkAndAddPlaceholderPane(pane) {
2437
- //Add placeholder pane in every splitPane that ignores resize constraints
2438
- if (this.isSplitPaneIgnoringResizeConstraints(pane)) {
2439
- this.anyPaneIgnoringResizeConstraints = true;
2440
- const placeholderPane = {
2441
- type: locale.IgcDockManagerPaneType.contentPane,
2442
- contentId: "placeholder",
2443
- header: 'Placeholder',
2444
- allowDocking: false,
2445
- allowFloating: false,
2446
- allowMaximize: false,
2447
- allowPinning: false,
2448
- size: 0
2449
- };
2450
- pane.panes.push(placeholderPane);
2451
- }
2452
- if (pane.type !== locale.IgcDockManagerPaneType.contentPane && pane.type !== locale.IgcDockManagerPaneType.documentHost && pane.panes) {
2453
- pane.panes.forEach(p => this.checkAndAddPlaceholderPane(p));
2454
- }
2455
- else if (pane.type === locale.IgcDockManagerPaneType.documentHost) {
2456
- this.checkAndAddPlaceholderPane(pane.rootPane);
2457
- }
2458
- }
2459
2376
  handleTabsRendered(pane) {
2460
2377
  var _a;
2461
2378
  if (this.reason !== ActionReason.drop) {
@@ -2660,11 +2577,7 @@ const IgcDockManager = class {
2660
2577
  pane.unpinnedSize = minSize;
2661
2578
  }
2662
2579
  // If new pane size does not meet the size constraints, do not resize
2663
- let parent = this.service.getParent(pane);
2664
- let offset = this.isSplitPaneIgnoringResizeConstraints(parent) ||
2665
- this.isPaneSizeWithinConstraints(previousPane, event.detail, orientation, 'previous') ?
2666
- this.splitterOffset * event.detail :
2667
- 0;
2580
+ let offset = this.isPaneSizeWithinConstraints(previousPane, event.detail, orientation, 'previous') ? this.splitterOffset * event.detail : 0;
2668
2581
  this.service.resizeFlyoutPane(offset);
2669
2582
  let rect;
2670
2583
  rect = splitter.previousElementSibling.getBoundingClientRect();
@@ -2700,9 +2613,7 @@ const IgcDockManager = class {
2700
2613
  const sizeProperty = parentPane.orientation === locale.IgcSplitPaneOrientation.horizontal ? 'offsetWidth' : 'offsetHeight';
2701
2614
  const sizeSum = paneComponents.reduce((s, p) => p[sizeProperty] + s, 0);
2702
2615
  // If the new size is smaller or bigger that the size constraints, do not resize
2703
- const offset = parentPane.ignoreResizeConstraints ||
2704
- this.isPaneSizeWithinConstraints(previousPane, event.detail, parentPane.orientation, 'previous') &&
2705
- this.isPaneSizeWithinConstraints(nextPane, event.detail, parentPane.orientation) ? event.detail : 0;
2616
+ const offset = this.isPaneSizeWithinConstraints(previousPane, event.detail, parentPane.orientation, 'previous') && this.isPaneSizeWithinConstraints(nextPane, event.detail, parentPane.orientation) ? event.detail : 0;
2706
2617
  let offsetPercentage = this.splitterOffset * offset / sizeSum;
2707
2618
  let rtl = false;
2708
2619
  if (this.element.dir !== '') {
@@ -2790,7 +2701,7 @@ const IgcDockManager = class {
2790
2701
  }
2791
2702
  this.shouldClearActivePane = false;
2792
2703
  this.focusElement();
2793
- const dragStarted = this.service.dragPaneStart(pane, rect, event.detail.clientX, event.detail.clientY, this.anyPaneIgnoringResizeConstraints);
2704
+ const dragStarted = this.service.dragPaneStart(pane, rect, event.detail.clientX, event.detail.clientY);
2794
2705
  this.isDragging = true;
2795
2706
  this.scheduleAfterRender(() => {
2796
2707
  this.shouldClearActivePane = true;
@@ -2830,22 +2741,6 @@ const IgcDockManager = class {
2830
2741
  if (event && !dragMoved) {
2831
2742
  event.detail.cancel = true;
2832
2743
  }
2833
- // After successfull pane drag, check if there is a splitPane with ignoreResizeConstraints = true
2834
- // that is left with a single placeholder pane and remove it.
2835
- // This would happen only when the last non placeholder pane of a split pane gets dragged.
2836
- if (dragMoved) {
2837
- const elements = this.element.shadowRoot.elementsFromPoint(clientX, clientY);
2838
- const splitPanes = elements.filter(e => e.tagName.toLowerCase() === 'igc-split-pane-component');
2839
- for (const sp of splitPanes) {
2840
- const splitPane = this.panesElementMap.getByValue(sp);
2841
- if (splitPane.ignoreResizeConstraints &&
2842
- splitPane.panes.length === 1 &&
2843
- splitPane.panes[0].type === locale.IgcDockManagerPaneType.contentPane &&
2844
- splitPane.panes[0].contentId === "placeholder") {
2845
- this.service.closePane(splitPane.panes[0]);
2846
- }
2847
- }
2848
- }
2849
2744
  }
2850
2745
  getInnerDropTargetParentRect() {
2851
2746
  if (this.dropTargetPaneInfo && this.service.proximityDockPosition) {
@@ -3014,7 +2909,7 @@ const IgcDockManager = class {
3014
2909
  tabsRect
3015
2910
  };
3016
2911
  this.handleDropPositionChange(event.detail.clientX, event.detail.clientY, event === null || event === void 0 ? void 0 : event.target);
3017
- const tabMoved = this.service.dragTabMove(pane, event.detail, tabRectsInfo, this.anyPaneIgnoringResizeConstraints);
2912
+ const tabMoved = this.service.dragTabMove(pane, event.detail, tabRectsInfo);
3018
2913
  if (event && !tabMoved) {
3019
2914
  event.detail.cancel = true;
3020
2915
  }
@@ -3208,7 +3103,7 @@ const IgcDockManager = class {
3208
3103
  this.contentPaneId = pane.contentId;
3209
3104
  if (this.element === rootNode.activeElement || !this.element.contains(rootNode.activeElement)) {
3210
3105
  const paneElement = this.contentPanesElementMap.get(pane);
3211
- paneElement.focus();
3106
+ paneElement === null || paneElement === void 0 ? void 0 : paneElement.focus();
3212
3107
  }
3213
3108
  else {
3214
3109
  this.setActivePane(pane);
@@ -3377,7 +3272,7 @@ const IgcDockManager = class {
3377
3272
  const maximized = this.maximizedPane === pane ||
3378
3273
  (parentPane.type === locale.IgcDockManagerPaneType.tabGroupPane && this.maximizedPane === parentPane) ||
3379
3274
  isFloating && isSingleFloatingContentPane && floatingPane === this.maximizedPane;
3380
- 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), parentIgnoreResizeConstraints: this.isParentIgnoreResizeConstraints(pane), ref: el => {
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 => {
3381
3276
  if (el) {
3382
3277
  this.panesElementMap.set(pane, el);
3383
3278
  this.contentPanesElementMap.set(pane, el);
@@ -3392,10 +3287,10 @@ const IgcDockManager = class {
3392
3287
  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 }))));
3393
3288
  }
3394
3289
  renderSplitter(parentPane, pane) {
3395
- 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), parentIgnoreResizeConstraints: parentPane.ignoreResizeConstraints }));
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) }));
3396
3291
  }
3397
3292
  renderDocumentHost(docHost) {
3398
- return (index.h("igc-document-host-component", { key: docHost.id, size: docHost.size, parentIgnoreResizeConstraints: this.isParentIgnoreResizeConstraints(docHost), ref: el => {
3293
+ return (index.h("igc-document-host-component", { key: docHost.id, size: docHost.size, ref: el => {
3399
3294
  if (el) {
3400
3295
  this.panesElementMap.set(docHost, el);
3401
3296
  }
@@ -3419,7 +3314,7 @@ const IgcDockManager = class {
3419
3314
  else {
3420
3315
  contentIds.push(pane.contentId);
3421
3316
  }
3422
- return (allowEmpty || tabs.length > 0) && (index.h("igc-tabs-component", { key: pane.id, contentIds: contentIds, size: pane.size, selectedIndex: selectedIndex, hasHeaders: !isSingleTab, parentIgnoreResizeConstraints: this.isParentIgnoreResizeConstraints(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 => {
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 => {
3423
3318
  if (el) {
3424
3319
  this.panesElementMap.set(pane, el);
3425
3320
  }
@@ -3462,7 +3357,7 @@ const IgcDockManager = class {
3462
3357
  }
3463
3358
  renderSplitPane(splitPane, isFloating, isInDocumentHost) {
3464
3359
  const panes = this.service.getSplitPaneVisibleChildren(splitPane);
3465
- return (splitPane.allowEmpty || panes.length > 0) && (index.h("igc-split-pane-component", { key: splitPane.id, orientation: splitPane.orientation, size: splitPane.size, ignoreResizeConstraints: splitPane.ignoreResizeConstraints, parentIgnoreResizeConstraints: this.isParentIgnoreResizeConstraints(splitPane), onRendered: this.handleSplitPaneRendered.bind(this, panes), ref: el => {
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 => {
3466
3361
  if (el) {
3467
3362
  this.panesElementMap.set(splitPane, el);
3468
3363
  }
@@ -3472,11 +3367,9 @@ const IgcDockManager = class {
3472
3367
  paneComponent = this.renderSplitPane(p, isFloating, isInDocumentHost);
3473
3368
  }
3474
3369
  else if (p.type === locale.IgcDockManagerPaneType.contentPane) {
3475
- paneComponent = p.contentId === "placeholder" ?
3476
- this.renderPlaceholder(p) :
3477
- isInDocumentHost ?
3478
- this.renderTabGroup(p, isFloating, true) :
3479
- this.renderContentPane(p, isFloating, false);
3370
+ paneComponent = isInDocumentHost ?
3371
+ this.renderTabGroup(p, isFloating, true) :
3372
+ this.renderContentPane(p, isFloating, false);
3480
3373
  }
3481
3374
  else if (p.type === locale.IgcDockManagerPaneType.documentHost) {
3482
3375
  paneComponent = this.renderDocumentHost(p);
@@ -3489,9 +3382,6 @@ const IgcDockManager = class {
3489
3382
  paneComponent;
3490
3383
  })));
3491
3384
  }
3492
- renderPlaceholder(pane) {
3493
- return (index.h("igc-content-pane-component", { key: pane.id, contentId: pane.contentId, size: pane.size }));
3494
- }
3495
3385
  renderUnpinnedTabArea(location) {
3496
3386
  const panes = [];
3497
3387
  const isHorizontal = location === locale.IgcUnpinnedLocation.top || location === locale.IgcUnpinnedLocation.bottom;
@@ -3563,9 +3453,6 @@ const IgcDockManager = class {
3563
3453
  renderDockingIndicators() {
3564
3454
  const startPosition = this.direction !== 'rtl' ? locale.IgcDockingIndicatorPosition.left : locale.IgcDockingIndicatorPosition.right;
3565
3455
  const endPosition = this.direction !== 'rtl' ? locale.IgcDockingIndicatorPosition.right : locale.IgcDockingIndicatorPosition.left;
3566
- if (this.dropTargetPaneInfo && this.dropTargetPaneInfo.pane.type == "splitPane" && this.dropTargetPaneInfo.pane.ignoreResizeConstraints) {
3567
- return;
3568
- }
3569
3456
  return (index.h("div", { class: "docking-indicators-container", style: {
3570
3457
  display: this.showDockingIndicators ? 'flex' : 'none'
3571
3458
  } }, !this.documentOnlyDrag && !this.proximityDock && this.renderRootDockingIndicator(locale.IgcDockingIndicatorPosition.top), index.h("div", { style: {
@@ -3630,12 +3517,11 @@ const IgcDocumentHostComponent = class {
3630
3517
  constructor(hostRef) {
3631
3518
  index.registerInstance(this, hostRef);
3632
3519
  this.size = undefined;
3633
- this.parentIgnoreResizeConstraints = false;
3634
3520
  }
3635
3521
  render() {
3636
3522
  const size = this.size || this.size === 0 ? this.size : IGC_DEFAULT_PANE_SIZE;
3637
3523
  return (index.h(index.Host, { role: "group", style: {
3638
- flex: this.parentIgnoreResizeConstraints ? `0 0 ${size}px` : `${size} 1 ${size}px`
3524
+ flex: `${size} 1 ${size}px`
3639
3525
  } }));
3640
3526
  }
3641
3527
  };
@@ -4437,8 +4323,6 @@ const IgcSplitPaneComponent = class {
4437
4323
  this.rendered = index.createEvent(this, "rendered", 7);
4438
4324
  this.orientation = undefined;
4439
4325
  this.size = undefined;
4440
- this.ignoreResizeConstraints = false;
4441
- this.parentIgnoreResizeConstraints = false;
4442
4326
  }
4443
4327
  componentDidRender() {
4444
4328
  this.rendered.emit();
@@ -4447,7 +4331,7 @@ const IgcSplitPaneComponent = class {
4447
4331
  const size = this.size || this.size === 0 ? this.size : IGC_DEFAULT_PANE_SIZE;
4448
4332
  return (index.h(index.Host, { role: "group", style: {
4449
4333
  flexDirection: this.orientation === locale.IgcSplitPaneOrientation.horizontal ? 'row' : 'column',
4450
- flex: this.parentIgnoreResizeConstraints ? `0 0 ${size}px` : `${size} 1 ${size}px`
4334
+ flex: `${size} 1 ${size}px`
4451
4335
  }, part: "split-pane" }));
4452
4336
  }
4453
4337
  };
@@ -4499,7 +4383,6 @@ const IgcSplitterComponent = class {
4499
4383
  this.showDragGhost = undefined;
4500
4384
  this.splitPaneOrientation = undefined;
4501
4385
  this.flyoutLocation = undefined;
4502
- this.parentIgnoreResizeConstraints = false;
4503
4386
  }
4504
4387
  connectedCallback() {
4505
4388
  this.dragService = new IgcDragService(this.element);
@@ -4625,17 +4508,15 @@ const IgcSplitterComponent = class {
4625
4508
  }
4626
4509
  }
4627
4510
  else {
4628
- if (!this.parentIgnoreResizeConstraints) {
4629
- const referencePaneSize = !rtl || isVertical ? this.paneSizes[1] : this.paneSizes[0];
4630
- if (referencePaneSize > IGC_RESIZING_MIN_SIZE) {
4631
- if (referencePaneSize - this.dragOffset < IGC_RESIZING_MIN_SIZE) {
4632
- this.dragOffset = referencePaneSize - IGC_RESIZING_MIN_SIZE;
4633
- }
4634
- }
4635
- else {
4636
- this.dragOffset = 0;
4511
+ const referencePaneSize = !rtl || isVertical ? this.paneSizes[1] : this.paneSizes[0];
4512
+ if (referencePaneSize > IGC_RESIZING_MIN_SIZE) {
4513
+ if (referencePaneSize - this.dragOffset < IGC_RESIZING_MIN_SIZE) {
4514
+ this.dragOffset = referencePaneSize - IGC_RESIZING_MIN_SIZE;
4637
4515
  }
4638
4516
  }
4517
+ else {
4518
+ this.dragOffset = 0;
4519
+ }
4639
4520
  }
4640
4521
  }
4641
4522
  closestElement(selector, el) {
@@ -4916,7 +4797,6 @@ const IgcTabsComponent = class {
4916
4797
  this.showHiddenTabsMenu = true;
4917
4798
  this.resourceStrings = undefined;
4918
4799
  this.contentIds = [];
4919
- this.parentIgnoreResizeConstraints = false;
4920
4800
  }
4921
4801
  selectedIndexPropertyChanged(newValue) {
4922
4802
  this.handleSelectedIndexChanged(newValue);
@@ -5041,6 +4921,10 @@ const IgcTabsComponent = class {
5041
4921
  this.selectedIndex = activeTabIndex;
5042
4922
  }
5043
4923
  }
4924
+ // When a single pane is visible in the tab group pane, the tabHeaders array is empty but we still need to have that one pane selected. #https://github.com/IgniteUI/igniteui-dockmanager/issues/103
4925
+ else if (this.tabPanels.length === 1) {
4926
+ this.selectedIndex = 0;
4927
+ }
5044
4928
  }
5045
4929
  handleHiddenTabsMenuClick(ev) {
5046
4930
  const button = ev.currentTarget;
@@ -5112,7 +4996,7 @@ const IgcTabsComponent = class {
5112
4996
  bottom
5113
4997
  }, ',');
5114
4998
  return (index.h(index.Host, { role: "tablist", style: {
5115
- flex: this.parentIgnoreResizeConstraints ? `0 0 ${size}px` : `${size} 1 ${size}px`
4999
+ flex: `${size} 1 ${size}px`
5116
5000
  }, 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()));
5117
5001
  }
5118
5002
  get el() { return index.getElement(this); }
@@ -5151,7 +5035,7 @@ const IgcUnpinnedPaneHeaderComponent = class {
5151
5035
  };
5152
5036
  IgcUnpinnedPaneHeaderComponent.style = unpinnedPaneHeaderComponentCss;
5153
5037
 
5154
- const sampleComponentCss = ".sc-sample-component-h{display:flex;flex-direction:column;height:100%}igc-dockmanager.sc-sample-component{margin:10px;border:1px solid black}";
5038
+ const sampleComponentCss = ".sc-sample-component-h{display:flex;flex-direction:column;height:100%}";
5155
5039
 
5156
5040
  /**
5157
5041
  * @hidden
@@ -5476,570 +5360,128 @@ const SampleComponent = class {
5476
5360
  };
5477
5361
  this.layout3 = {
5478
5362
  rootPane: {
5479
- type: locale.IgcDockManagerPaneType.splitPane,
5480
- orientation: locale.IgcSplitPaneOrientation.horizontal,
5481
- ignoreResizeConstraints: true,
5482
- panes: [
5483
- // {
5484
- // type: IgcDockManagerPaneType.splitPane,
5485
- // ignoreResizeConstraints: true,
5486
- // orientation: IgcSplitPaneOrientation.vertical,
5487
- // size: 300, // PIXELS
5488
- // panes: [
5489
- // {
5490
- // type: IgcDockManagerPaneType.contentPane,
5491
- // contentId: 'content1',
5492
- // header: 'Content Pane 1',
5493
- // size: 500 // PIXELS
5494
- // },
5495
- // {
5496
- // type: IgcDockManagerPaneType.contentPane,
5497
- // contentId: 'content2',
5498
- // header: 'Content Pane 2',
5499
- // size: 300 // PIXELS
5500
- // }
5501
- // ]
5502
- // },
5503
- {
5504
- type: locale.IgcDockManagerPaneType.splitPane,
5505
- orientation: locale.IgcSplitPaneOrientation.vertical,
5506
- size: 450,
5507
- panes: [
5508
- {
5509
- type: locale.IgcDockManagerPaneType.splitPane,
5510
- orientation: locale.IgcSplitPaneOrientation.horizontal,
5511
- ignoreResizeConstraints: true,
5512
- size: 300,
5513
- panes: [
5514
- {
5515
- type: locale.IgcDockManagerPaneType.contentPane,
5516
- contentId: 'content4',
5517
- header: 'Content Pane 4',
5518
- size: 400 // PIXELS
5519
- }
5520
- ]
5521
- },
5522
- {
5523
- type: locale.IgcDockManagerPaneType.contentPane,
5524
- contentId: 'content7',
5525
- header: 'Content Pane 7',
5526
- size: 450 // PIXELS
5527
- }
5528
- ]
5529
- }
5530
- ]
5531
- },
5532
- floatingPanes: [
5533
- // {
5534
- // type: IgcDockManagerPaneType.splitPane,
5535
- // orientation: IgcSplitPaneOrientation.vertical,
5536
- // ignoreResizeConstraints: true,
5537
- // // size: 950, // PIXELS
5538
- // floatingHeight: 950,
5539
- // floatingWidth: 650,
5540
- // floatingLocation: { x: 200, y: 50 },
5541
- // panes: [
5542
- // {
5543
- // type: IgcDockManagerPaneType.splitPane,
5544
- // orientation: IgcSplitPaneOrientation.horizontal,
5545
- // ignoreResizeConstraints: true,
5546
- // size: 400, // PIXELS
5547
- // panes: [
5548
- // {
5549
- // type: IgcDockManagerPaneType.contentPane,
5550
- // contentId: 'content12',
5551
- // header: 'Content Pane 12',
5552
- // size: 400 // PIXELS
5553
- // },
5554
- // {
5555
- // type: IgcDockManagerPaneType.contentPane,
5556
- // contentId: 'content13',
5557
- // header: 'Content Pane 13',
5558
- // size: 200 // PIXELS
5559
- // }
5560
- // ]
5561
- // },
5562
- // {
5563
- // type: IgcDockManagerPaneType.splitPane,
5564
- // orientation: IgcSplitPaneOrientation.vertical,
5565
- // ignoreResizeConstraints: true,
5566
- // size: 500, // PIXELS
5567
- // panes: [
5568
- // {
5569
- // type: IgcDockManagerPaneType.contentPane,
5570
- // contentId: 'content11',
5571
- // header: 'Content Pane 11',
5572
- // size: 300 // PIXELS
5573
- // },
5574
- // ]
5575
- // }
5576
- // ]
5577
- // }
5578
- ]
5579
- };
5580
- this.commonProps = {
5581
- allowClose: false,
5582
- allowMaximize: false,
5583
- allowPinning: false,
5584
- };
5585
- this.bodyWidth = document.body.getBoundingClientRect().width;
5586
- this.layout4 = {
5587
- rootPane: {
5588
- type: locale.IgcDockManagerPaneType.splitPane,
5589
- orientation: locale.IgcSplitPaneOrientation.horizontal,
5590
- panes: [
5591
- {
5592
- type: locale.IgcDockManagerPaneType.splitPane,
5593
- orientation: locale.IgcSplitPaneOrientation.vertical,
5594
- ignoreResizeConstraints: true,
5595
- size: this.bodyWidth,
5596
- panes: [
5597
- {
5598
- type: locale.IgcDockManagerPaneType.contentPane,
5599
- contentId: 'content1',
5600
- header: 'Content 1 Header',
5601
- size: 60, // PIXELS
5602
- },
5603
- {
5604
- type: locale.IgcDockManagerPaneType.splitPane,
5605
- orientation: locale.IgcSplitPaneOrientation.horizontal,
5606
- size: 240 + 10,
5607
- ignoreResizeConstraints: true,
5608
- panes: [
5609
- {
5610
- type: locale.IgcDockManagerPaneType.splitPane,
5611
- orientation: locale.IgcSplitPaneOrientation.vertical,
5612
- size: this.bodyWidth / 3,
5613
- panes: [
5614
- {
5615
- type: locale.IgcDockManagerPaneType.contentPane,
5616
- contentId: 'content2',
5617
- header: 'Content 2 Header',
5618
- size: 240, // PIXELS
5619
- },
5620
- ],
5621
- },
5622
- {
5623
- type: locale.IgcDockManagerPaneType.splitPane,
5624
- orientation: locale.IgcSplitPaneOrientation.vertical,
5625
- size: (this.bodyWidth * 2) / 3,
5626
- panes: [
5627
- {
5628
- type: locale.IgcDockManagerPaneType.contentPane,
5629
- contentId: 'content3',
5630
- header: 'Content 3 Header',
5631
- size: 240, // PIXELS
5632
- },
5633
- ],
5634
- },
5635
- // {
5636
- // type: IgcDockManagerPaneType.contentPane,
5637
- // contentId: 'content_not_used_2',
5638
- // header: 'NOT USED',
5639
- // // size: 0,
5640
- // ...this.commonProps,
5641
- // },
5642
- ],
5643
- },
5644
- {
5645
- type: locale.IgcDockManagerPaneType.contentPane,
5646
- contentId: 'content4',
5647
- header: 'Content 4 Header',
5648
- size: 290, // PIXELS
5649
- },
5650
- {
5651
- type: locale.IgcDockManagerPaneType.splitPane,
5652
- orientation: locale.IgcSplitPaneOrientation.horizontal,
5653
- size: 240 + 10,
5654
- panes: [
5655
- {
5656
- type: locale.IgcDockManagerPaneType.splitPane,
5657
- orientation: locale.IgcSplitPaneOrientation.vertical,
5658
- size: this.bodyWidth / 3,
5659
- panes: [
5660
- {
5661
- type: locale.IgcDockManagerPaneType.contentPane,
5662
- contentId: 'content5',
5663
- header: 'Content 5 Header',
5664
- size: 240, // PIXELS
5665
- },
5666
- ],
5667
- },
5668
- {
5669
- type: locale.IgcDockManagerPaneType.splitPane,
5670
- orientation: locale.IgcSplitPaneOrientation.vertical,
5671
- size: (this.bodyWidth * 2) / 3,
5672
- panes: [
5673
- {
5674
- type: locale.IgcDockManagerPaneType.contentPane,
5675
- contentId: 'content6',
5676
- header: 'Content 6 Header',
5677
- size: 240, // PIXELS
5678
- },
5679
- ],
5680
- },
5681
- // {
5682
- // type: IgcDockManagerPaneType.contentPane,
5683
- // contentId: 'content_not_used_3',
5684
- // header: 'NOT USED',
5685
- // ...this.commonProps,
5686
- // },
5687
- ],
5688
- },
5689
- {
5690
- type: locale.IgcDockManagerPaneType.splitPane,
5691
- orientation: locale.IgcSplitPaneOrientation.horizontal,
5692
- size: 240 + 10,
5693
- panes: [
5694
- {
5695
- type: locale.IgcDockManagerPaneType.splitPane,
5696
- orientation: locale.IgcSplitPaneOrientation.vertical,
5697
- size: this.bodyWidth / 2,
5698
- panes: [
5699
- {
5700
- type: locale.IgcDockManagerPaneType.contentPane,
5701
- contentId: 'content7',
5702
- header: 'Content 7 Header',
5703
- size: 240, // PIXELS
5704
- },
5705
- ],
5706
- },
5707
- {
5708
- type: locale.IgcDockManagerPaneType.splitPane,
5709
- orientation: locale.IgcSplitPaneOrientation.vertical,
5710
- size: this.bodyWidth / 2,
5711
- panes: [
5712
- {
5713
- type: locale.IgcDockManagerPaneType.contentPane,
5714
- contentId: 'content8',
5715
- header: 'Content 8 Header',
5716
- size: 240, // PIXELS
5717
- },
5718
- ],
5719
- },
5720
- // {
5721
- // type: IgcDockManagerPaneType.contentPane,
5722
- // contentId: 'content_not_used_4',
5723
- // header: 'NOT USED',
5724
- // ...this.commonProps,
5725
- // },
5726
- ],
5727
- },
5728
- {
5729
- type: locale.IgcDockManagerPaneType.contentPane,
5730
- contentId: 'content9',
5731
- header: 'Content 9 Header',
5732
- size: 290, // PIXELS
5733
- },
5734
- // {
5735
- // type: IgcDockManagerPaneType.contentPane,
5736
- // contentId: 'content_not_used_1',
5737
- // header: 'NOT USED',
5738
- // ...this.commonProps,
5739
- // },
5740
- ],
5741
- },
5742
- ],
5743
- },
5744
- floatingPanes: [],
5745
- };
5746
- this.layout5 = {
5747
- rootPane: {
5363
+ id: "root",
5748
5364
  type: locale.IgcDockManagerPaneType.splitPane,
5749
5365
  orientation: locale.IgcSplitPaneOrientation.horizontal,
5750
5366
  panes: [
5751
5367
  {
5752
5368
  type: locale.IgcDockManagerPaneType.splitPane,
5753
5369
  orientation: locale.IgcSplitPaneOrientation.vertical,
5754
- ignoreResizeConstraints: true,
5755
- size: this.bodyWidth,
5370
+ size: 300,
5371
+ allowEmpty: true,
5756
5372
  panes: [
5757
5373
  {
5758
5374
  type: locale.IgcDockManagerPaneType.contentPane,
5759
- contentId: 'content1',
5760
- header: 'Content 1 Header',
5761
- size: 60, // PIXELS
5762
- },
5763
- {
5764
- type: locale.IgcDockManagerPaneType.splitPane,
5765
- orientation: locale.IgcSplitPaneOrientation.horizontal,
5766
- size: 240 + 10,
5767
- ignoreResizeConstraints: true,
5768
- panes: [
5769
- {
5770
- type: locale.IgcDockManagerPaneType.splitPane,
5771
- orientation: locale.IgcSplitPaneOrientation.vertical,
5772
- size: this.bodyWidth / 3,
5773
- panes: [
5774
- {
5775
- type: locale.IgcDockManagerPaneType.contentPane,
5776
- contentId: 'content2',
5777
- header: 'Content 2 Header',
5778
- size: 240, // PIXELS
5779
- },
5780
- ],
5781
- },
5782
- {
5783
- type: locale.IgcDockManagerPaneType.splitPane,
5784
- orientation: locale.IgcSplitPaneOrientation.vertical,
5785
- size: (this.bodyWidth * 2) / 3,
5786
- panes: [
5787
- {
5788
- type: locale.IgcDockManagerPaneType.contentPane,
5789
- contentId: 'content3',
5790
- header: 'Content 3 Header',
5791
- size: 240, // PIXELS
5792
- },
5793
- ],
5794
- },
5795
- Object.assign({ type: locale.IgcDockManagerPaneType.contentPane, contentId: 'content_not_used_2', header: 'NOT USED' }, this.commonProps),
5796
- ],
5375
+ header: '1',
5376
+ contentId: 'content1'
5797
5377
  },
5798
5378
  {
5799
5379
  type: locale.IgcDockManagerPaneType.contentPane,
5800
- contentId: 'content4',
5801
- header: 'Content 4 Header',
5802
- size: 290, // PIXELS
5380
+ header: '2',
5381
+ contentId: 'content2'
5803
5382
  },
5804
- {
5805
- type: locale.IgcDockManagerPaneType.splitPane,
5806
- orientation: locale.IgcSplitPaneOrientation.horizontal,
5807
- size: 240 + 10,
5808
- panes: [
5809
- {
5810
- type: locale.IgcDockManagerPaneType.splitPane,
5811
- orientation: locale.IgcSplitPaneOrientation.vertical,
5812
- size: this.bodyWidth / 3,
5813
- panes: [
5814
- {
5815
- type: locale.IgcDockManagerPaneType.contentPane,
5816
- contentId: 'content5',
5817
- header: 'Content 5 Header',
5818
- size: 240, // PIXELS
5819
- },
5820
- ],
5821
- },
5822
- {
5823
- type: locale.IgcDockManagerPaneType.splitPane,
5824
- orientation: locale.IgcSplitPaneOrientation.vertical,
5825
- size: (this.bodyWidth * 2) / 3,
5826
- panes: [
5827
- {
5828
- type: locale.IgcDockManagerPaneType.contentPane,
5829
- contentId: 'content6',
5830
- header: 'Content 6 Header',
5831
- size: 240, // PIXELS
5832
- },
5833
- ],
5834
- },
5835
- Object.assign({ type: locale.IgcDockManagerPaneType.contentPane, contentId: 'content_not_used_3', header: 'NOT USED' }, this.commonProps),
5836
- ],
5837
- },
5838
- {
5839
- type: locale.IgcDockManagerPaneType.splitPane,
5840
- orientation: locale.IgcSplitPaneOrientation.horizontal,
5841
- size: 240 + 10,
5842
- panes: [
5843
- {
5844
- type: locale.IgcDockManagerPaneType.splitPane,
5845
- orientation: locale.IgcSplitPaneOrientation.vertical,
5846
- size: this.bodyWidth / 2,
5847
- panes: [
5848
- {
5849
- type: locale.IgcDockManagerPaneType.contentPane,
5850
- contentId: 'content7',
5851
- header: 'Content 7 Header',
5852
- size: 240, // PIXELS
5853
- },
5854
- ],
5855
- },
5856
- {
5857
- type: locale.IgcDockManagerPaneType.splitPane,
5858
- orientation: locale.IgcSplitPaneOrientation.vertical,
5859
- size: this.bodyWidth / 2,
5860
- panes: [
5861
- {
5862
- type: locale.IgcDockManagerPaneType.contentPane,
5863
- contentId: 'content8',
5864
- header: 'Content 8 Header',
5865
- size: 240, // PIXELS
5866
- },
5867
- ],
5868
- },
5869
- Object.assign({ type: locale.IgcDockManagerPaneType.contentPane, contentId: 'content_not_used_4', header: 'NOT USED' }, this.commonProps),
5870
- ],
5871
- },
5872
- {
5873
- type: locale.IgcDockManagerPaneType.contentPane,
5874
- contentId: 'content9',
5875
- header: 'Content 9 Header',
5876
- size: 290, // PIXELS
5877
- },
5878
- Object.assign({ type: locale.IgcDockManagerPaneType.contentPane, contentId: 'content_not_used_1', header: 'NOT USED' }, this.commonProps),
5879
- ],
5880
- },
5881
- ],
5882
- },
5883
- floatingPanes: [],
5884
- };
5885
- this.layout6 = {
5886
- rootPane: {
5887
- type: locale.IgcDockManagerPaneType.splitPane,
5888
- orientation: locale.IgcSplitPaneOrientation.vertical,
5889
- ignoreResizeConstraints: true,
5890
- size: 1,
5891
- panes: [
5892
- {
5893
- type: locale.IgcDockManagerPaneType.splitPane,
5894
- orientation: locale.IgcSplitPaneOrientation.vertical,
5895
- size: 200,
5896
- panes: [
5897
- {
5898
- type: locale.IgcDockManagerPaneType.contentPane,
5899
- contentId: "content1",
5900
- header: "Content Pane 1"
5901
- }
5902
- ]
5903
- },
5904
- {
5905
- type: locale.IgcDockManagerPaneType.splitPane,
5906
- orientation: locale.IgcSplitPaneOrientation.vertical,
5907
- size: 400,
5908
- panes: [
5909
5383
  {
5910
5384
  type: locale.IgcDockManagerPaneType.contentPane,
5911
- contentId: "content2",
5912
- header: "Content Pane 2"
5385
+ header: '3',
5386
+ contentId: 'content3'
5913
5387
  }
5914
5388
  ]
5915
5389
  }
5916
5390
  ]
5917
- },
5918
- floatingPanes: [],
5391
+ }
5919
5392
  };
5920
- this.layout = this.layout1;
5393
+ this.layout = this.layout3;
5921
5394
  this.logEnabled = false;
5395
+ this.id = 100;
5396
+ this.foundElem = [];
5922
5397
  this.hiddenPanes = [];
5923
5398
  }
5924
- // private hideOnCloseCheckbox: HTMLInputElement;
5925
- /*
5926
- private hiddenPanesSelect: HTMLSelectElement;
5927
- private savedLayout: string;
5928
-
5929
- private saveLayout() {
5399
+ saveLayout() {
5930
5400
  this.savedLayout = JSON.stringify(this.dockManager.layout);
5931
5401
  }
5932
-
5933
- private loadLayout() {
5402
+ loadLayout() {
5934
5403
  this.dockManager.layout = JSON.parse(this.savedLayout);
5935
5404
  }
5936
-
5937
- private setActivePane() {
5405
+ setActivePane() {
5938
5406
  // this.dockManager.activePane = this.teamExplorerPane;
5939
5407
  this.dockManager.activePane = this.unpinnedToolboxPane;
5940
5408
  }
5941
-
5942
- private id = 100;
5943
- private newId: string;
5944
-
5945
- private addPane() {
5409
+ addPane() {
5946
5410
  this.newId = `content${this.id++}`;
5947
5411
  const newDiv = this.createElement(this.newId, 'input');
5948
5412
  this.dockManager.appendChild(newDiv);
5949
-
5950
5413
  this.layout.floatingPanes[1].panes.push({
5951
- type: IgcDockManagerPaneType.contentPane,
5414
+ type: locale.IgcDockManagerPaneType.contentPane,
5952
5415
  header: 'NewPane',
5953
5416
  contentId: this.newId
5954
5417
  });
5955
-
5956
- this.dockManager.layout = { ...this.layout };
5418
+ this.dockManager.layout = Object.assign({}, this.layout);
5957
5419
  }
5958
-
5959
- private addTab() {
5960
- this.findElement(this.layout.rootPane, IgcDockManagerPaneType.tabGroupPane);
5961
-
5420
+ addTab() {
5421
+ this.findElement(this.layout.rootPane, locale.IgcDockManagerPaneType.tabGroupPane);
5962
5422
  this.newId = `content${this.id++}`;
5963
5423
  const newDiv = this.createElement(this.newId, 'button');
5964
5424
  this.dockManager.appendChild(newDiv);
5965
-
5966
- const tabGroupPane = this.foundElem[0] as IgcTabGroupPane;
5425
+ const tabGroupPane = this.foundElem[0];
5967
5426
  tabGroupPane.panes.push({
5968
- type: IgcDockManagerPaneType.contentPane,
5427
+ type: locale.IgcDockManagerPaneType.contentPane,
5969
5428
  header: 'NewTab',
5970
5429
  contentId: this.newId
5971
5430
  });
5972
-
5973
- this.dockManager.layout = { ...this.layout };
5431
+ this.dockManager.layout = Object.assign({}, this.layout);
5974
5432
  }
5975
-
5976
- private disableContentPane() {
5977
- this.findElement(this.layout.rootPane, IgcDockManagerPaneType.tabGroupPane);
5978
-
5979
- const tabGroupPane = this.foundElem[0] as IgcTabGroupPane;
5433
+ disableContentPane() {
5434
+ this.findElement(this.layout.rootPane, locale.IgcDockManagerPaneType.tabGroupPane);
5435
+ const tabGroupPane = this.foundElem[0];
5980
5436
  tabGroupPane.panes[0].disabled = true;
5981
- this.dockManager.layout = { ...this.layout };
5437
+ this.dockManager.layout = Object.assign({}, this.layout);
5982
5438
  }
5983
-
5984
- private toggleProximityDock() {
5439
+ toggleProximityDock() {
5985
5440
  this.dockManager.proximityDock = !this.dockManager.proximityDock;
5986
5441
  }
5987
-
5988
- private focusPane() {
5442
+ focusPane() {
5989
5443
  this.dockManager.focusPane('content12');
5990
5444
  }
5991
-
5992
- private foundElem: IgcDockManagerPane[] = [];
5993
- private findElement(pane: IgcDockManagerPane, type: IgcDockManagerPaneType) {
5994
- if (!pane) { return; }
5995
-
5445
+ findElement(pane, type) {
5446
+ if (!pane) {
5447
+ return;
5448
+ }
5996
5449
  if (pane.type === type) {
5997
5450
  this.foundElem.push(pane);
5998
5451
  }
5999
-
6000
- if (pane.type === IgcDockManagerPaneType.tabGroupPane || pane.type === IgcDockManagerPaneType.splitPane) {
5452
+ if (pane.type === locale.IgcDockManagerPaneType.tabGroupPane || pane.type === locale.IgcDockManagerPaneType.splitPane) {
6001
5453
  for (const c of pane.panes) {
6002
5454
  this.findElement(c, type);
6003
5455
  }
6004
5456
  }
6005
-
6006
- if (pane.type === IgcDockManagerPaneType.documentHost) {
5457
+ if (pane.type === locale.IgcDockManagerPaneType.documentHost) {
6007
5458
  this.findElement(pane.rootPane, type);
6008
5459
  }
6009
5460
  }
6010
-
6011
- private showPane() {
5461
+ showPane() {
6012
5462
  const index = this.hiddenPanesSelect.selectedIndex;
6013
-
6014
5463
  if (index >= 0) {
6015
5464
  this.hiddenPanes[index].hidden = false;
6016
5465
  this.hiddenPanes.splice(index, 1);
6017
5466
  this.hiddenPanes = [...this.hiddenPanes];
6018
- this.dockManager.layout = { ...this.dockManager.layout };
5467
+ this.dockManager.layout = Object.assign({}, this.dockManager.layout);
6019
5468
  }
6020
5469
  }
6021
-
6022
- private showAllPanes() {
5470
+ showAllPanes() {
6023
5471
  if (this.hiddenPanes.length > 0) {
6024
5472
  for (const pane of this.hiddenPanes) {
6025
5473
  pane.hidden = false;
6026
5474
  }
6027
5475
  this.hiddenPanes = [];
6028
- this.dockManager.layout = { ...this.dockManager.layout };
5476
+ this.dockManager.layout = Object.assign({}, this.dockManager.layout);
6029
5477
  }
6030
5478
  }
6031
-
6032
- private toggleInBoundaries() {
5479
+ toggleInBoundaries() {
6033
5480
  this.dockManager.containedInBoundaries = !this.dockManager.containedInBoundaries;
6034
5481
  }
6035
-
6036
- // private toggleIgnoreResizeConstraints() {
6037
- // this.dockManager.ignoreResizeConstraints = !this.dockManager.ignoreResizeConstraints;
6038
- // }
6039
-
6040
- private createElement(content: string, typeOfElement: string): HTMLElement {
5482
+ createElement(content, typeOfElement) {
6041
5483
  const someContent = document.createTextNode(content);
6042
- let elem: HTMLElement;
5484
+ let elem;
6043
5485
  switch (typeOfElement) {
6044
5486
  case ('button'):
6045
5487
  elem = document.createElement('button');
@@ -6049,25 +5491,22 @@ const SampleComponent = class {
6049
5491
  elem = document.createElement('input');
6050
5492
  break;
6051
5493
  }
6052
-
6053
5494
  const divContent = document.createElement('div');
6054
5495
  divContent.appendChild(elem ? elem : someContent);
6055
5496
  divContent.setAttribute('slot', content);
6056
5497
  divContent.setAttribute('style', 'width: 100%; height: 100%;');
6057
-
6058
5498
  return divContent;
6059
5499
  }
6060
- */
6061
5500
  handlePaneClose(event) {
6062
5501
  this.log(event);
6063
- // if (this.hideOnCloseCheckbox.checked) {
6064
- // for (const pane of event.detail.panes) {
6065
- // pane.hidden = true;
6066
- // this.hiddenPanes.splice(0, 0, pane);
6067
- // this.hiddenPanes = [...this.hiddenPanes];
6068
- // }
6069
- // event.preventDefault();
6070
- // }
5502
+ if (this.hideOnCloseCheckbox.checked) {
5503
+ for (const pane of event.detail.panes) {
5504
+ pane.hidden = true;
5505
+ this.hiddenPanes.splice(0, 0, pane);
5506
+ this.hiddenPanes = [...this.hiddenPanes];
5507
+ }
5508
+ event.preventDefault();
5509
+ }
6071
5510
  // const panes = event.detail.panes;
6072
5511
  // const confirmed = confirm(`Are you sure you want to close panes '${panes.map(p => p.header).join(', ')}'?`);
6073
5512
  // // event.detail.panes = [panes[0]];
@@ -6149,11 +5588,13 @@ const SampleComponent = class {
6149
5588
  }
6150
5589
  }
6151
5590
  render() {
6152
- 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),
5591
+ return (index.h(index.Host, null, index.h("div", null, index.h("button", { onClick: () => console.log(JSON.stringify(this.dockManager.layout, null, 2)) }, "LOG LAYOUT"), 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("button", { onClick: () => this.focusPane() }, "Focus Pane"), index.h("button", { onClick: () => this.toggleProximityDock() }, "Toggle Proximity Dock"), 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 => {
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),
6153
5594
  // resourceStrings={this.getCustomResourceStrings()}
6154
5595
  ref: el => this.dockManager = el,
6155
5596
  // allowFloatingPanesResize={false}
6156
- 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" }))));
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("button", { style: { background: 'pink' }, slot: "tabHeaderCloseButton" }, "Y"), index.h("div", { slot: "content1", style: { width: '100%', height: '100%' } }, "Content 1"), index.h("div", { slot: "content2", style: { width: '100%', height: '100%' } }, index.h("button", null, "Tests")), index.h("div", { slot: "content3", style: { width: '100%', height: '100%' } }, "Content 3"), index.h("div", { slot: "content4" }, "Content 4"), index.h("div", { slot: "content5", style: { width: '100%', height: '100%' } }, "Content 5"), index.h("div", { slot: "content6", style: { width: '100%', height: '100%' } }, "Content 6"), index.h("div", { slot: "content7", style: { width: '100%', height: '100%' } }, "Content 7"), index.h("div", { slot: "content8" }, "Content 8"), index.h("div", { slot: "content9", style: { width: '100%', height: '100%' } }, "Content 9"), index.h("div", { slot: "content10", style: { width: '100%', height: '100%' } }, index.h("button", null, "Test")), index.h("div", { slot: "content11", style: { width: '100%', height: '100%' } }, index.h("input", null)), index.h("div", { slot: "content12", style: { width: '100%', height: '100%' } }, index.h("p", null, "Content 12 "), index.h("p", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. ")), index.h("div", { slot: "content13", style: { width: '100%', height: '100%' } }, "Content 13"), index.h("div", { slot: "content14", style: { width: '100%', height: '100%' } }, "Content 14"), index.h("div", { slot: "toolboxHeader" }, index.h("span", null, "[U] Toolbox")), index.h("div", { slot: "teamExplorerHeader" }, index.h("span", null, "[U] Team Explorer")))));
6157
5598
  }
6158
5599
  };
6159
5600
  SampleComponent.style = sampleComponentCss;