@syncfusion/ej2-layouts 20.3.57 → 20.3.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/ej2-layouts.min.js +2 -2
- package/dist/ej2-layouts.umd.min.js +2 -2
- package/dist/ej2-layouts.umd.min.js.map +1 -1
- package/dist/es6/ej2-layouts.es2015.js +61 -11
- package/dist/es6/ej2-layouts.es2015.js.map +1 -1
- package/dist/es6/ej2-layouts.es5.js +61 -11
- package/dist/es6/ej2-layouts.es5.js.map +1 -1
- package/dist/global/ej2-layouts.min.js +2 -2
- package/dist/global/ej2-layouts.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +5 -5
- package/src/dashboard-layout/dashboard-layout.js +7 -2
- package/src/splitter/splitter.js +54 -9
@@ -137,6 +137,9 @@ let Splitter = class Splitter extends Component {
|
|
137
137
|
case 'paneSettings': {
|
138
138
|
if (!(newProp.paneSettings instanceof Array && oldProp.paneSettings instanceof Array)) {
|
139
139
|
const paneCounts = Object.keys(newProp.paneSettings);
|
140
|
+
if (this.isReact) {
|
141
|
+
this.clearTemplate();
|
142
|
+
}
|
140
143
|
for (let i = 0; i < paneCounts.length; i++) {
|
141
144
|
const index = parseInt(Object.keys(newProp.paneSettings)[i], 10);
|
142
145
|
const changedPropsCount = Object.keys(newProp.paneSettings[index]).length;
|
@@ -1020,9 +1023,11 @@ let Splitter = class Splitter extends Component {
|
|
1020
1023
|
}
|
1021
1024
|
const avgDiffWidth = diff / flexPaneIndexes.length;
|
1022
1025
|
for (let j = 0, len = flexPaneIndexes.length; j < len; j++) {
|
1023
|
-
this.allPanes[flexPaneIndexes[j]].style.flexBasis
|
1024
|
-
|
1025
|
-
|
1026
|
+
if (this.allPanes[flexPaneIndexes[j]].style.flexBasis !== '') {
|
1027
|
+
this.allPanes[flexPaneIndexes[j]].style.flexBasis = this.orientation === 'Horizontal' ?
|
1028
|
+
(this.allPanes[flexPaneIndexes[j]].offsetWidth + avgDiffWidth) + 'px' :
|
1029
|
+
(this.allPanes[flexPaneIndexes[j]].offsetHeight + avgDiffWidth) + 'px';
|
1030
|
+
}
|
1026
1031
|
}
|
1027
1032
|
if (this.allPanes.length === 2 && iswindowResize) {
|
1028
1033
|
const paneCount = this.allPanes.length;
|
@@ -1542,6 +1547,7 @@ let Splitter = class Splitter extends Component {
|
|
1542
1547
|
return (value / offsetValue) * 100;
|
1543
1548
|
}
|
1544
1549
|
convertPixelToNumber(value) {
|
1550
|
+
value = value.toString();
|
1545
1551
|
if (value.indexOf('p') > -1) {
|
1546
1552
|
return parseFloat(value.slice(0, value.indexOf('p')));
|
1547
1553
|
}
|
@@ -1695,7 +1701,10 @@ let Splitter = class Splitter extends Component {
|
|
1695
1701
|
this.nextPaneHeightWidth =
|
1696
1702
|
(typeof (this.nextPaneHeightWidth) === 'string' && this.nextPaneHeightWidth.indexOf('p') > -1) ?
|
1697
1703
|
this.convertPixelToNumber(this.nextPaneHeightWidth) : parseInt(this.nextPaneHeightWidth, 10);
|
1698
|
-
this.
|
1704
|
+
this.previousPaneHeightWidth =
|
1705
|
+
(typeof (this.previousPaneHeightWidth) === 'string' && this.previousPaneHeightWidth.indexOf('p') > -1) ?
|
1706
|
+
this.convertPixelToNumber(this.previousPaneHeightWidth) : parseInt(this.previousPaneHeightWidth, 10);
|
1707
|
+
this.prevPaneCurrentWidth = separatorNewPosition + this.previousPaneHeightWidth;
|
1699
1708
|
this.nextPaneCurrentWidth = this.nextPaneHeightWidth - separatorNewPosition;
|
1700
1709
|
this.validateMinMaxValues();
|
1701
1710
|
if (this.nextPaneCurrentWidth < 0) {
|
@@ -1722,9 +1731,45 @@ let Splitter = class Splitter extends Component {
|
|
1722
1731
|
}
|
1723
1732
|
this.calculateCurrentDimensions();
|
1724
1733
|
this.addStaticPaneClass();
|
1725
|
-
|
1726
|
-
|
1727
|
-
|
1734
|
+
let flexPaneCount = 0;
|
1735
|
+
for (let i = 0; i < this.paneSettings.length; i++) {
|
1736
|
+
if (this.paneSettings[i].size === '') {
|
1737
|
+
flexPaneCount = flexPaneCount + 1;
|
1738
|
+
}
|
1739
|
+
}
|
1740
|
+
const allFlexiblePanes = flexPaneCount === this.allPanes.length;
|
1741
|
+
// Two flexible Pane Case.
|
1742
|
+
if (this.previousPane.style.flexBasis == '' && this.nextPane.style.flexBasis == '' && !allFlexiblePanes) {
|
1743
|
+
const middlePaneIndex = this.allPanes.length % this.allBars.length;
|
1744
|
+
if (this.prevPaneIndex === middlePaneIndex) {
|
1745
|
+
this.nextPane.style.flexBasis = this.nextPaneCurrentWidth;
|
1746
|
+
addClass([this.nextPane], STATIC_PANE);
|
1747
|
+
}
|
1748
|
+
else if (this.nextPaneIndex == middlePaneIndex) {
|
1749
|
+
this.previousPane.style.flexBasis = this.prevPaneCurrentWidth;
|
1750
|
+
addClass([this.previousPane], STATIC_PANE);
|
1751
|
+
}
|
1752
|
+
else {
|
1753
|
+
this.nextPane.style.flexBasis = this.nextPaneCurrentWidth;
|
1754
|
+
addClass([this.nextPane], STATIC_PANE);
|
1755
|
+
}
|
1756
|
+
} // All panes are flexible
|
1757
|
+
else if (allFlexiblePanes) {
|
1758
|
+
this.previousPane.style.flexBasis = this.prevPaneCurrentWidth;
|
1759
|
+
addClass([this.previousPane], STATIC_PANE);
|
1760
|
+
this.nextPane.style.flexBasis = this.nextPaneCurrentWidth;
|
1761
|
+
addClass([this.nextPane], STATIC_PANE);
|
1762
|
+
} // Two Panesa are Static Pane
|
1763
|
+
else {
|
1764
|
+
if (this.previousPane.style.flexBasis !== "" && this.previousPane.classList.contains(STATIC_PANE)) {
|
1765
|
+
this.previousPane.style.flexBasis = this.prevPaneCurrentWidth;
|
1766
|
+
}
|
1767
|
+
if (this.nextPane.style.flexBasis !== "" && this.nextPane.classList.contains(STATIC_PANE)) {
|
1768
|
+
this.nextPane.style.flexBasis = this.nextPaneCurrentWidth;
|
1769
|
+
}
|
1770
|
+
}
|
1771
|
+
const isStaticPanes = this.previousPane.style.flexBasis !== "" && this.nextPane.style.flexBasis !== "";
|
1772
|
+
if (!(this.allPanes.length > 2) && isStaticPanes) {
|
1728
1773
|
this.updateSplitterSize();
|
1729
1774
|
}
|
1730
1775
|
}
|
@@ -1828,10 +1873,10 @@ let Splitter = class Splitter extends Component {
|
|
1828
1873
|
}
|
1829
1874
|
}
|
1830
1875
|
addStaticPaneClass() {
|
1831
|
-
if (!this.previousPane.classList.contains(STATIC_PANE)) {
|
1876
|
+
if (!this.previousPane.classList.contains(STATIC_PANE) && !(this.previousPane.style.flexBasis === '') && !this.previousPane.classList.contains(EXPAND_PANE)) {
|
1832
1877
|
this.previousPane.classList.add(STATIC_PANE);
|
1833
1878
|
}
|
1834
|
-
if (!this.nextPane.classList.contains(STATIC_PANE)) {
|
1879
|
+
if (!this.nextPane.classList.contains(STATIC_PANE) && !(this.nextPane.style.flexBasis === '') && !this.nextPane.classList.contains(EXPAND_PANE)) {
|
1835
1880
|
this.nextPane.classList.add(STATIC_PANE);
|
1836
1881
|
}
|
1837
1882
|
}
|
@@ -2850,7 +2895,12 @@ let DashboardLayout = class DashboardLayout extends Component {
|
|
2850
2895
|
currentX = this.getMaxWidth(panelModel) - this.elementWidth;
|
2851
2896
|
this.mOffX = dX - currentX;
|
2852
2897
|
}
|
2898
|
+
let initialWidth = this.elementWidth;
|
2853
2899
|
this.elementWidth += currentX;
|
2900
|
+
let newSizeX = this.pixelsToColumns(this.elementWidth - (panelModel.sizeX) * this.cellSpacing[1], true);
|
2901
|
+
if (this.columns < panelModel.col + newSizeX) {
|
2902
|
+
this.elementWidth = initialWidth;
|
2903
|
+
}
|
2854
2904
|
}
|
2855
2905
|
el.style.top = this.elementY + 'px';
|
2856
2906
|
el.style.left = this.elementX + 'px';
|
@@ -2947,8 +2997,8 @@ let DashboardLayout = class DashboardLayout extends Component {
|
|
2947
2997
|
sizeY = this.pixelsToRows(this.elementHeight - (sizeY) * this.cellSpacing[0], true);
|
2948
2998
|
}
|
2949
2999
|
}
|
2950
|
-
if (item.col +
|
2951
|
-
item.sizeX =
|
3000
|
+
if (item.col + sizeX > this.columns) {
|
3001
|
+
item.sizeX = sizeX - 1;
|
2952
3002
|
}
|
2953
3003
|
const canOccupy = row > -1 && col > -1 && sizeX + col <= this.maxCol() && sizeY + row <= this.maxRow();
|
2954
3004
|
if (canOccupy && (this.collisions(row, col, sizeX, sizeY, this.getPanelBase(item.id)).length === 0)
|