dockview-core 4.2.3 → 4.2.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/dist/cjs/dockview/components/popupService.d.ts +1 -0
- package/dist/cjs/dockview/components/popupService.js +6 -1
- package/dist/cjs/dockview/components/titlebar/tabsContainer.js +5 -1
- package/dist/cjs/dockview/dockviewComponent.js +19 -17
- package/dist/cjs/dom.d.ts +4 -0
- package/dist/cjs/dom.js +42 -1
- package/dist/dockview-core.amd.js +68 -20
- package/dist/dockview-core.amd.js.map +1 -1
- package/dist/dockview-core.amd.min.js +2 -2
- package/dist/dockview-core.amd.min.js.map +1 -1
- package/dist/dockview-core.amd.min.noStyle.js +2 -2
- package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
- package/dist/dockview-core.amd.noStyle.js +68 -20
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +68 -20
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +68 -20
- package/dist/dockview-core.esm.js.map +1 -1
- package/dist/dockview-core.esm.min.js +2 -2
- package/dist/dockview-core.esm.min.js.map +1 -1
- package/dist/dockview-core.js +68 -20
- package/dist/dockview-core.js.map +1 -1
- package/dist/dockview-core.min.js +2 -2
- package/dist/dockview-core.min.js.map +1 -1
- package/dist/dockview-core.min.noStyle.js +2 -2
- package/dist/dockview-core.min.noStyle.js.map +1 -1
- package/dist/dockview-core.noStyle.js +68 -20
- package/dist/dockview-core.noStyle.js.map +1 -1
- package/dist/esm/dockview/components/popupService.d.ts +1 -0
- package/dist/esm/dockview/components/popupService.js +6 -1
- package/dist/esm/dockview/components/titlebar/tabsContainer.js +6 -2
- package/dist/esm/dockview/dockviewComponent.js +19 -17
- package/dist/esm/dom.d.ts +4 -0
- package/dist/esm/dom.js +38 -0
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview-core
|
|
3
|
-
* @version 4.2.
|
|
3
|
+
* @version 4.2.4
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -638,6 +638,44 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
638
638
|
}));
|
|
639
639
|
return disposable;
|
|
640
640
|
}
|
|
641
|
+
function shiftAbsoluteElementIntoView(element, root, options = { buffer: 10 }) {
|
|
642
|
+
const buffer = options.buffer;
|
|
643
|
+
const rect = element.getBoundingClientRect();
|
|
644
|
+
const rootRect = element.getBoundingClientRect();
|
|
645
|
+
const viewportWidth = root.clientWidth;
|
|
646
|
+
const viewportHeight = root.clientHeight;
|
|
647
|
+
let translateX = 0;
|
|
648
|
+
let translateY = 0;
|
|
649
|
+
const left = rect.left - rootRect.left;
|
|
650
|
+
const top = rect.top - rootRect.top;
|
|
651
|
+
const bottom = rect.bottom - rootRect.bottom;
|
|
652
|
+
const right = rect.right - rootRect.right;
|
|
653
|
+
// Check horizontal overflow
|
|
654
|
+
if (left < buffer) {
|
|
655
|
+
translateX = buffer - left;
|
|
656
|
+
}
|
|
657
|
+
else if (right > viewportWidth - buffer) {
|
|
658
|
+
translateX = viewportWidth - right - buffer;
|
|
659
|
+
}
|
|
660
|
+
// Check vertical overflow
|
|
661
|
+
if (top < buffer) {
|
|
662
|
+
translateY = buffer - top;
|
|
663
|
+
}
|
|
664
|
+
else if (bottom > viewportHeight - buffer) {
|
|
665
|
+
translateY = viewportHeight - bottom - buffer;
|
|
666
|
+
}
|
|
667
|
+
// Apply the translation if needed
|
|
668
|
+
if (translateX !== 0 || translateY !== 0) {
|
|
669
|
+
element.style.transform = `translate(${translateX}px, ${translateY}px)`;
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
function findRelativeZIndexParent(el) {
|
|
673
|
+
let tmp = el;
|
|
674
|
+
while (tmp && (tmp.style.zIndex === 'auto' || tmp.style.zIndex === '')) {
|
|
675
|
+
tmp = tmp.parentElement;
|
|
676
|
+
}
|
|
677
|
+
return tmp;
|
|
678
|
+
}
|
|
641
679
|
|
|
642
680
|
function tail(arr) {
|
|
643
681
|
if (arr.length === 0) {
|
|
@@ -5605,7 +5643,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5605
5643
|
toggleClass(wrapper, 'dv-tab', true);
|
|
5606
5644
|
toggleClass(wrapper, 'dv-active-tab', panelObject.api.isActive);
|
|
5607
5645
|
toggleClass(wrapper, 'dv-inactive-tab', !panelObject.api.isActive);
|
|
5608
|
-
wrapper.addEventListener('
|
|
5646
|
+
wrapper.addEventListener('pointerdown', () => {
|
|
5609
5647
|
this.accessor.popupService.close();
|
|
5610
5648
|
tab.element.scrollIntoView();
|
|
5611
5649
|
tab.panel.api.setActive();
|
|
@@ -5613,9 +5651,13 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5613
5651
|
wrapper.appendChild(child);
|
|
5614
5652
|
el.appendChild(wrapper);
|
|
5615
5653
|
}
|
|
5654
|
+
const relativeParent = findRelativeZIndexParent(root);
|
|
5616
5655
|
this.accessor.popupService.openPopover(el, {
|
|
5617
5656
|
x: event.clientX,
|
|
5618
5657
|
y: event.clientY,
|
|
5658
|
+
zIndex: (relativeParent === null || relativeParent === void 0 ? void 0 : relativeParent.style.zIndex)
|
|
5659
|
+
? `calc(${relativeParent.style.zIndex} * 2)`
|
|
5660
|
+
: undefined,
|
|
5619
5661
|
});
|
|
5620
5662
|
}));
|
|
5621
5663
|
}
|
|
@@ -7980,10 +8022,11 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7980
8022
|
}), this._activeDisposable);
|
|
7981
8023
|
}
|
|
7982
8024
|
openPopover(element, position) {
|
|
8025
|
+
var _a;
|
|
7983
8026
|
this.close();
|
|
7984
8027
|
const wrapper = document.createElement('div');
|
|
7985
8028
|
wrapper.style.position = 'absolute';
|
|
7986
|
-
wrapper.style.zIndex = '
|
|
8029
|
+
wrapper.style.zIndex = (_a = position.zIndex) !== null && _a !== void 0 ? _a : 'var(--dv-overlay-z-index)';
|
|
7987
8030
|
wrapper.appendChild(element);
|
|
7988
8031
|
const anchorBox = this._element.getBoundingClientRect();
|
|
7989
8032
|
const offsetX = anchorBox.left;
|
|
@@ -8007,6 +8050,9 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
8007
8050
|
}
|
|
8008
8051
|
this.close();
|
|
8009
8052
|
}));
|
|
8053
|
+
requestAnimationFrame(() => {
|
|
8054
|
+
shiftAbsoluteElementIntoView(wrapper, this.root);
|
|
8055
|
+
});
|
|
8010
8056
|
}
|
|
8011
8057
|
close() {
|
|
8012
8058
|
if (this._active) {
|
|
@@ -9540,24 +9586,26 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
9540
9586
|
selectedPopoutGroup.disposable.dispose();
|
|
9541
9587
|
}
|
|
9542
9588
|
}
|
|
9543
|
-
|
|
9544
|
-
|
|
9545
|
-
|
|
9546
|
-
|
|
9547
|
-
|
|
9548
|
-
|
|
9549
|
-
|
|
9550
|
-
|
|
9551
|
-
|
|
9552
|
-
|
|
9553
|
-
|
|
9554
|
-
|
|
9555
|
-
|
|
9556
|
-
|
|
9557
|
-
|
|
9558
|
-
|
|
9589
|
+
if (from.api.location.type !== 'popout') {
|
|
9590
|
+
const referenceLocation = getGridLocation(to.element);
|
|
9591
|
+
const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
|
|
9592
|
+
let size;
|
|
9593
|
+
switch (this.gridview.orientation) {
|
|
9594
|
+
case exports.Orientation.VERTICAL:
|
|
9595
|
+
size =
|
|
9596
|
+
referenceLocation.length % 2 == 0
|
|
9597
|
+
? from.api.width
|
|
9598
|
+
: from.api.height;
|
|
9599
|
+
break;
|
|
9600
|
+
case exports.Orientation.HORIZONTAL:
|
|
9601
|
+
size =
|
|
9602
|
+
referenceLocation.length % 2 == 0
|
|
9603
|
+
? from.api.height
|
|
9604
|
+
: from.api.width;
|
|
9605
|
+
break;
|
|
9606
|
+
}
|
|
9607
|
+
this.gridview.addView(from, size, dropLocation);
|
|
9559
9608
|
}
|
|
9560
|
-
this.gridview.addView(from, size, dropLocation);
|
|
9561
9609
|
}
|
|
9562
9610
|
from.panels.forEach((panel) => {
|
|
9563
9611
|
this._onDidMovePanel.fire({ panel, from });
|