@syncfusion/ej2-layouts 20.4.42 → 20.4.53

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.
@@ -1133,18 +1133,21 @@ var Splitter = /** @class */ (function (_super) {
1133
1133
  }
1134
1134
  e.target.classList.add(SPLIT_BAR_HOVER);
1135
1135
  }
1136
+ this.splitterDetails(e);
1136
1137
  var icon = e.target;
1137
- if (icon.classList.contains(ARROW_LEFT) || icon.classList.contains(ARROW_UP)) {
1138
- this.collapseAction(e);
1139
- }
1140
- if (icon.classList.contains(ARROW_RIGHT) || icon.classList.contains(ARROW_DOWN)) {
1141
- this.expandAction(e);
1138
+ if (icon.classList.contains(ARROW_LEFT) || icon.classList.contains(ARROW_RIGHT) ||
1139
+ icon.classList.contains(ARROW_DOWN) || icon.classList.contains(ARROW_UP)) {
1140
+ if (!this.nextPane.classList.contains(PANE_HIDDEN) && !this.previousPane.classList.contains(PANE_HIDDEN)) {
1141
+ this.collapseAction(e);
1142
+ }
1143
+ else {
1144
+ this.expandAction(e);
1145
+ }
1146
+ this.updateSplitterSize();
1142
1147
  }
1143
- this.updateSplitterSize();
1144
1148
  };
1145
1149
  Splitter.prototype.expandAction = function (e) {
1146
1150
  var _this = this;
1147
- this.splitterDetails(e);
1148
1151
  var eventArgs = this.beforeAction(e);
1149
1152
  if (this.expandFlag) {
1150
1153
  this.trigger('beforeExpand', eventArgs, function (beforeExpandArgs) {
@@ -1159,6 +1162,12 @@ var Splitter = /** @class */ (function (_super) {
1159
1162
  this.expandPane(e);
1160
1163
  }
1161
1164
  };
1165
+ Splitter.prototype.getIcon = function (e) {
1166
+ var targetClass = e.target.className.split(' ').filter(function (className) {
1167
+ return className !== NAVIGATE_ARROW && className !== HIDE_ICON;
1168
+ });
1169
+ return targetClass[0];
1170
+ };
1162
1171
  Splitter.prototype.expandPane = function (e) {
1163
1172
  this.removeStaticPanes();
1164
1173
  var collapseCount = this.element.querySelectorAll('.' + COLLAPSE_PANE).length;
@@ -1167,46 +1176,41 @@ var Splitter = /** @class */ (function (_super) {
1167
1176
  !this.nextPane.classList.contains(EXPAND_PANE) && this.nextPane.nextElementSibling.classList.contains(PANE) &&
1168
1177
  !this.nextPane.nextElementSibling.classList.contains(STATIC_PANE) && !(collapseCount === this.allPanes.length - 2));
1169
1178
  var collapseClass = [COLLAPSE_PANE, PANE_HIDDEN];
1170
- if (!this.previousPane.classList.contains(COLLAPSE_PANE)) {
1171
- removeClass([this.nextPane], EXPAND_PANE);
1172
- removeClass([this.previousPane], collapseClass);
1173
- addClass([this.previousPane], EXPAND_PANE);
1174
- addClass([this.nextPane], collapseClass);
1175
- if (this.expandFlag) {
1176
- this.updatePaneSettings(this.nextPaneIndex, true);
1179
+ var icon = this.getIcon(e);
1180
+ var isLeftOrUp = icon === ARROW_LEFT || icon === ARROW_UP;
1181
+ var collapsePane = isLeftOrUp ? this.nextPane : this.previousPane;
1182
+ var expandPane = isLeftOrUp ? this.previousPane : this.nextPane;
1183
+ var expandPaneIndex = isLeftOrUp ? this.nextPaneIndex : this.prevPaneIndex;
1184
+ removeClass([collapsePane], collapseClass);
1185
+ collapsePane.setAttribute('aria-hidden', 'false');
1186
+ // cCount is calculated after removing the COLLAPSE_PANE
1187
+ var cCount = this.element.querySelectorAll('.' + COLLAPSE_PANE).length;
1188
+ if (cCount > 0) {
1189
+ if (!expandPane.classList.contains(COLLAPSE_PANE)) {
1190
+ addClass([expandPane], EXPAND_PANE);
1191
+ expandPane.setAttribute('aria-expanded', 'true');
1192
+ }
1193
+ }
1194
+ else if (cCount === 0) {
1195
+ for (var i = 0; i < this.allPanes.length; i++) {
1196
+ if (!this.allPanes[i].classList.contains(COLLAPSE_PANE)) {
1197
+ removeClass([this.allPanes[i]], EXPAND_PANE);
1198
+ this.allPanes[i].setAttribute('aria-expanded', 'false');
1199
+ }
1177
1200
  }
1178
1201
  }
1179
- else {
1180
- removeClass([this.previousPane], collapseClass);
1181
- removeClass([this.nextPane], EXPAND_PANE);
1182
- if (this.expandFlag) {
1183
- this.updatePaneSettings(this.prevPaneIndex, false);
1184
- }
1202
+ if (this.expandFlag) {
1203
+ this.updatePaneSettings(expandPaneIndex, false);
1185
1204
  }
1186
- this.updateIconsOnExpand(e);
1187
- this.previousPane.setAttribute('aria-expanded', 'true');
1188
- this.nextPane.setAttribute('aria-expanded', 'false');
1189
- this.updateFlexGrow(this.checkStaticPanes());
1205
+ this.updateIconsOnExpand(e, icon);
1206
+ this.updateFlexGrow();
1190
1207
  if (flexStatus) {
1191
1208
  this.previousPane.classList.remove(EXPAND_PANE);
1209
+ this.previousPane.setAttribute('aria-expanded', 'false');
1192
1210
  this.previousPane.style.flexGrow = '';
1193
1211
  }
1194
1212
  };
1195
- Splitter.prototype.checkStaticPanes = function () {
1196
- var staticPane = true;
1197
- for (var i = 0; i < this.allPanes.length; i++) {
1198
- if (!this.allPanes[i].classList.contains(COLLAPSE_PANE) && staticPane) {
1199
- if (this.allPanes[i].classList.contains(STATIC_PANE)) {
1200
- staticPane = true;
1201
- }
1202
- else {
1203
- staticPane = false;
1204
- }
1205
- }
1206
- }
1207
- return staticPane;
1208
- };
1209
- Splitter.prototype.updateFlexGrow = function (status) {
1213
+ Splitter.prototype.updateFlexGrow = function () {
1210
1214
  var collapseCount = 0;
1211
1215
  for (var j = 0; j < this.element.children.length; j++) {
1212
1216
  if (this.element.children[j].classList.contains(COLLAPSE_PANE)) {
@@ -1217,9 +1221,6 @@ var Splitter = /** @class */ (function (_super) {
1217
1221
  var panes = this.allPanes;
1218
1222
  for (var i = 0; i < panes.length; i++) {
1219
1223
  panes[i].style.flexGrow = '';
1220
- if (status && !this.nextPane.classList.contains(COLLAPSE_PANE)) {
1221
- this.nextPane.style.flexGrow = '1';
1222
- }
1223
1224
  if (visiblePane && this.allPanes[i].classList.contains(COLLAPSE_PANE) && this.paneSettings[i].size &&
1224
1225
  i !== this.allPanes.length - 1) {
1225
1226
  panes[i].style.flexGrow = '';
@@ -1238,76 +1239,66 @@ var Splitter = /** @class */ (function (_super) {
1238
1239
  Splitter.prototype.showTargetBarIcon = function (targetBar, targetArrow) {
1239
1240
  removeClass([select('.' + targetArrow, targetBar)], HIDE_ICON);
1240
1241
  };
1241
- Splitter.prototype.updateIconsOnCollapse = function (e) {
1242
+ Splitter.prototype.updateIconsOnCollapse = function (e, targetIcon) {
1242
1243
  this.splitterProperty();
1243
- if (this.previousPane.classList.contains(COLLAPSE_PANE) && !this.nextPane.classList.contains(COLLAPSE_PANE)) {
1244
- addClass([e.target], HIDE_ICON);
1245
- if (this.paneSettings[this.prevPaneIndex].collapsible) {
1246
- this.showCurrentBarIcon();
1247
- }
1248
- this.resizableModel(this.currentBarIndex, false);
1249
- if (this.previousPane.classList.contains(COLLAPSE_PANE) && !this.nextPane.classList.contains(COLLAPSE_PANE) &&
1250
- !this.paneSettings[this.prevPaneIndex].collapsible) {
1251
- this.hideTargetBarIcon(this.prevBar, this.rightArrow);
1252
- }
1253
- if (this.previousPane.previousElementSibling && !this.previousPane.previousElementSibling.classList.contains(COLLAPSE_PANE)) {
1254
- if (this.previousPane.classList.contains(COLLAPSE_PANE) && this.paneSettings[this.prevPaneIndex].collapsible) {
1255
- this.showTargetBarIcon(this.prevBar, this.leftArrow);
1244
+ var removeIcon = this.arrow;
1245
+ var otherBar = this.currentBarIndex === (this.allBars.length - 1) ? this.prevBar : this.nextBar;
1246
+ var otherBarIndex = this.currentBarIndex === (this.allBars.length - 1) ? this.currentBarIndex - 1
1247
+ : this.currentBarIndex + 1;
1248
+ if (!e.target.classList.contains(HIDE_ICON)) {
1249
+ if (this.splitInstance.prevPaneCollapsed || this.splitInstance.nextPaneCollapsed) {
1250
+ if (this.paneSettings[this.prevPaneIndex].collapsible && this.paneSettings[this.nextPaneIndex].collapsible) {
1251
+ this.resizableModel(this.currentBarIndex, false);
1252
+ this.hideTargetBarIcon(this.currentSeparator, targetIcon);
1253
+ if (!isNullOrUndefined(otherBar)) {
1254
+ var otherPrevPaneIndex = otherBarIndex;
1255
+ var otherNextPaneIndex = otherBarIndex + 1;
1256
+ var collapsecount = this.getCollapseCount(otherPrevPaneIndex, otherNextPaneIndex);
1257
+ if (this.paneSettings[otherPrevPaneIndex].collapsible &&
1258
+ this.paneSettings[otherNextPaneIndex].collapsible) {
1259
+ if (collapsecount === 1) {
1260
+ this.hideTargetBarIcon(otherBar, removeIcon);
1261
+ this.resizableModel(otherBarIndex, false);
1262
+ }
1263
+ else if (collapsecount === 2) {
1264
+ this.hideBarIcons(otherBar);
1265
+ this.resizableModel(otherBarIndex, false);
1266
+ }
1267
+ if (!this.paneSettings[otherPrevPaneIndex].collapsible ||
1268
+ !this.paneSettings[otherNextPaneIndex].collapsible) {
1269
+ this.hideTargetBarIcon(otherBar, targetIcon);
1270
+ }
1271
+ }
1272
+ }
1256
1273
  }
1257
- else if (!this.paneSettings[this.prevPaneIndex].collapsible) {
1258
- this.hideTargetBarIcon(this.prevBar, this.leftArrow);
1274
+ else {
1275
+ this.showTargetBarIcon(this.currentSeparator, removeIcon);
1276
+ this.hideTargetBarIcon(this.currentSeparator, targetIcon);
1277
+ this.resizableModel(this.currentBarIndex, false);
1259
1278
  }
1260
1279
  }
1261
- if (!isNullOrUndefined(this.prevBar)) {
1262
- this.resizableModel(this.currentBarIndex - 1, false);
1263
- this.hideTargetBarIcon(this.prevBar, this.arrow);
1264
- }
1265
- if (!this.paneSettings[this.prevPaneIndex].collapsible) {
1266
- this.hideTargetBarIcon(this.currentSeparator, this.rightArrow);
1267
- }
1268
1280
  }
1269
- else if (!this.splitInstance.prevPaneCollapsed && !this.splitInstance.nextPaneExpanded) {
1270
- if (this.paneSettings[this.currentBarIndex].resizable) {
1271
- this.resizableModel(this.currentBarIndex, true);
1272
- }
1273
- if (!this.splitInstance.nextPaneNextEle.classList.contains(COLLAPSE_PANE) &&
1274
- this.paneSettings[this.currentBarIndex + 1].resizable) {
1275
- this.resizableModel(this.currentBarIndex + 1, true);
1276
- }
1277
- if (!this.paneSettings[this.currentBarIndex].collapsible) {
1278
- addClass([e.target], HIDE_ICON);
1279
- }
1280
- if (this.previousPane && this.prevPaneIndex === 0 && (this.paneSettings[this.prevPaneIndex].collapsible)) {
1281
- this.showTargetBarIcon(this.currentSeparator, this.leftArrow);
1282
- }
1283
- if (this.nextPane && this.nextPaneIndex === this.allPanes.length - 1 && (this.paneSettings[this.nextPaneIndex].collapsible)) {
1284
- this.showTargetBarIcon(this.getPrevBar(this.nextPaneIndex), this.rightArrow);
1285
- }
1286
- if (!(this.previousPane.classList.contains(COLLAPSE_PANE)) && this.paneSettings[this.nextPaneIndex].collapsible) {
1287
- this.showTargetBarIcon(this.currentSeparator, this.rightArrow);
1281
+ else {
1282
+ this.resizableModel(this.currentBarIndex, false);
1283
+ if (!isNullOrUndefined(otherBar)) {
1284
+ this.resizableModel(otherBarIndex, false);
1288
1285
  }
1289
- if (!isNullOrUndefined(this.nextBar)) {
1290
- if (this.nextPane.nextElementSibling && (this.nextPane.nextElementSibling.classList.contains(COLLAPSE_PANE) &&
1291
- this.paneSettings[this.nextPaneIndex + 1].collapsible) ||
1292
- (!this.nextPane.nextElementSibling.classList.contains(COLLAPSE_PANE) &&
1293
- this.paneSettings[this.nextPaneIndex].collapsible)) {
1294
- this.showTargetBarIcon(this.nextBar, this.leftArrow);
1295
- }
1296
- else if (!this.paneSettings[this.splitInstance.nextPaneIndex + 1].collapsible &&
1297
- this.paneSettings[this.currentBarIndex]) {
1298
- this.hideTargetBarIcon(this.nextBar, this.arrow);
1286
+ if (!this.paneSettings[this.prevPaneIndex].collapsible || !this.paneSettings[this.nextPaneIndex].collapsible) {
1287
+ if (!isNullOrUndefined(otherBar)) {
1288
+ this.hideTargetBarIcon(otherBar, targetIcon);
1299
1289
  }
1290
+ this.hideTargetBarIcon(this.currentSeparator, removeIcon);
1300
1291
  }
1301
- if (!(this.nextPaneIndex === this.allPanes.length - 1) && this.nextPane.nextElementSibling &&
1302
- !this.nextPane.classList.contains(COLLAPSE_PANE) && !this.nextPane.nextElementSibling.classList.contains(COLLAPSE_PANE)
1303
- && !this.paneSettings[this.nextPaneIndex + 1].collapsible) {
1304
- this.hideTargetBarIcon(this.nextBar, this.rightArrow);
1292
+ else {
1293
+ if (!isNullOrUndefined(otherBar)) {
1294
+ this.hideTargetBarIcon(otherBar, removeIcon);
1295
+ }
1296
+ this.showTargetBarIcon(this.currentSeparator, removeIcon);
1305
1297
  }
1306
1298
  }
1307
1299
  };
1308
1300
  Splitter.prototype.collapseAction = function (e) {
1309
1301
  var _this = this;
1310
- this.splitterDetails(e);
1311
1302
  var eventArgs = this.beforeAction(e);
1312
1303
  if (this.collapseFlag) {
1313
1304
  this.collapsePane(e);
@@ -1333,26 +1324,43 @@ var Splitter = /** @class */ (function (_super) {
1333
1324
  !(collapseCount === this.allPanes.length - 2)) || (this.nextPane.classList.contains(COLLAPSE_PANE) &&
1334
1325
  !this.previousPane.classList.contains(STATIC_PANE) && this.nextPane.classList.contains(STATIC_PANE));
1335
1326
  var collapseClass = [COLLAPSE_PANE, PANE_HIDDEN];
1336
- if (this.nextPane.classList.contains(COLLAPSE_PANE)) {
1337
- removeClass([this.previousPane], EXPAND_PANE);
1338
- removeClass([this.nextPane], collapseClass);
1339
- if (!this.collapseFlag) {
1340
- this.updatePaneSettings(this.nextPaneIndex, false);
1341
- }
1327
+ var icon = this.getIcon(e);
1328
+ var isLeftOrUp = icon === ARROW_LEFT || icon === ARROW_UP;
1329
+ var collapsePane = isLeftOrUp ? this.previousPane : this.nextPane;
1330
+ var expandPane = isLeftOrUp ? this.nextPane : this.previousPane;
1331
+ var collapsePaneIndex = isLeftOrUp ? this.prevPaneIndex : this.nextPaneIndex;
1332
+ removeClass([collapsePane], EXPAND_PANE);
1333
+ collapsePane.setAttribute('aria-expanded', 'false');
1334
+ addClass([collapsePane], collapseClass);
1335
+ collapsePane.setAttribute('aria-hidden', 'true');
1336
+ var isFlexPane = collapsePane.style.flexBasis === '';
1337
+ if (isFlexPane) {
1338
+ addClass([expandPane], EXPAND_PANE);
1339
+ expandPane.setAttribute('aria-expanded', 'true');
1342
1340
  }
1343
1341
  else {
1344
- removeClass([this.previousPane], EXPAND_PANE);
1345
- removeClass([this.nextPane], collapseClass);
1346
- addClass([this.nextPane], EXPAND_PANE);
1347
- addClass([this.previousPane], collapseClass);
1348
- if (!this.collapseFlag) {
1349
- this.updatePaneSettings(this.prevPaneIndex, true);
1350
- }
1351
- }
1352
- this.updateIconsOnCollapse(e);
1353
- this.previousPane.setAttribute('aria-expanded', 'false');
1354
- this.nextPane.setAttribute('aria-expanded', 'true');
1355
- this.updateFlexGrow(this.checkStaticPanes());
1342
+ var isFlexPaneHidden = true;
1343
+ for (var i = 0; i < this.allPanes.length; i++) {
1344
+ if (!this.allPanes[i].classList.contains(COLLAPSE_PANE)) {
1345
+ if (this.allPanes[i].style.flexBasis === '' && !this.allPanes[i].classList.contains(COLLAPSE_PANE)
1346
+ && !this.allPanes[i].classList.contains(EXPAND_PANE)) {
1347
+ addClass([this.allPanes[i]], EXPAND_PANE);
1348
+ this.allPanes[i].setAttribute('aria-expanded', 'true');
1349
+ isFlexPaneHidden = false;
1350
+ break;
1351
+ }
1352
+ }
1353
+ }
1354
+ if (isFlexPaneHidden) {
1355
+ addClass([expandPane], EXPAND_PANE);
1356
+ expandPane.setAttribute('aria-expanded', 'true');
1357
+ }
1358
+ }
1359
+ if (!this.collapseFlag) {
1360
+ this.updatePaneSettings(collapsePaneIndex, true);
1361
+ }
1362
+ this.updateIconsOnCollapse(e, icon);
1363
+ this.updateFlexGrow();
1356
1364
  if (flexStatus) {
1357
1365
  this.nextPane.classList.remove(EXPAND_PANE);
1358
1366
  this.nextPane.style.flexGrow = '';
@@ -1396,71 +1404,95 @@ var Splitter = /** @class */ (function (_super) {
1396
1404
  prevPanePreEle: this.previousPane.previousElementSibling
1397
1405
  };
1398
1406
  };
1399
- Splitter.prototype.showCurrentBarIcon = function () {
1407
+ Splitter.prototype.showCurrentBarIcons = function () {
1400
1408
  removeClass([select('.' + this.arrow, this.currentSeparator)], HIDE_ICON);
1401
1409
  };
1402
- Splitter.prototype.updateIconsOnExpand = function (e) {
1410
+ Splitter.prototype.hideBarIcons = function (bar) {
1411
+ addClass([select('.' + this.arrow, bar)], HIDE_ICON);
1412
+ };
1413
+ Splitter.prototype.getCollapseCount = function (prevPaneIndex, nextPaneIndex) {
1414
+ var collapsecount = 0;
1415
+ if (this.allPanes[prevPaneIndex].classList.contains(COLLAPSE_PANE)) {
1416
+ collapsecount = collapsecount + 1;
1417
+ }
1418
+ if (this.allPanes[nextPaneIndex].classList.contains(COLLAPSE_PANE)) {
1419
+ collapsecount = collapsecount + 1;
1420
+ }
1421
+ return collapsecount;
1422
+ };
1423
+ Splitter.prototype.checkResizableProp = function (prevPaneIndex, nextPaneIndex) {
1424
+ if (this.paneSettings[prevPaneIndex].resizable && this.paneSettings[nextPaneIndex].resizable) {
1425
+ return true;
1426
+ }
1427
+ else {
1428
+ return false;
1429
+ }
1430
+ };
1431
+ Splitter.prototype.updateIconsOnExpand = function (e, targetIcon) {
1403
1432
  this.splitterProperty();
1404
- addClass([e.target], HIDE_ICON);
1405
- if (!this.splitInstance.prevPaneExpanded && !this.splitInstance.nextPaneCollapsed) {
1406
- if (this.paneSettings[this.prevPaneIndex].collapsible) {
1407
- this.showCurrentBarIcon();
1408
- }
1409
- if (this.paneSettings[this.nextPaneIndex].collapsible) {
1410
- removeClass([e.target], HIDE_ICON);
1411
- }
1412
- if (this.paneSettings[this.currentBarIndex].resizable) {
1413
- this.resizableModel(this.currentBarIndex, true);
1414
- }
1415
- if (!isNullOrUndefined(this.prevBar) &&
1416
- !this.splitInstance.prevPanePreEle.classList.contains(COLLAPSE_PANE)) {
1417
- if (this.paneSettings[this.currentBarIndex - 1].resizable) {
1418
- this.resizableModel(this.currentBarIndex - 1, true);
1419
- }
1420
- if (this.paneSettings[this.prevPaneIndex].collapsible) {
1421
- this.showTargetBarIcon(this.prevBar, this.rightArrow);
1422
- }
1423
- if (!this.paneSettings[this.currentBarIndex - 1].collapsible) {
1424
- this.hideTargetBarIcon(this.prevBar, this.arrow);
1425
- if (this.paneSettings[this.currentBarIndex].collapsible &&
1426
- !this.paneSettings[this.currentBarIndex + 1].collapsible) {
1427
- this.hideTargetBarIcon(this.currentSeparator, this.rightArrow);
1433
+ var showIcon = this.arrow;
1434
+ var otherBar = this.currentBarIndex === (this.allBars.length - 1) ? this.prevBar : this.nextBar;
1435
+ var otherBarIndex = this.currentBarIndex === (this.allBars.length - 1) ?
1436
+ this.currentBarIndex - 1 : this.currentBarIndex + 1;
1437
+ if (!e.target.classList.contains(HIDE_ICON)) {
1438
+ // prevPane ! collapsed && nextPane ! collapsed
1439
+ if (!this.splitInstance.prevPaneCollapsed && !this.splitInstance.nextPaneCollapsed) {
1440
+ if (this.paneSettings[this.prevPaneIndex].collapsible && this.paneSettings[this.nextPaneIndex].collapsible) {
1441
+ this.showCurrentBarIcons();
1442
+ if (this.checkResizableProp(this.prevPaneIndex, this.nextPaneIndex)) {
1443
+ this.resizableModel(this.currentBarIndex, true);
1444
+ }
1445
+ else {
1446
+ this.resizableModel(this.currentBarIndex, false);
1447
+ }
1448
+ if (!isNullOrUndefined(otherBar)) {
1449
+ var otherPrevPaneIndex = otherBarIndex;
1450
+ var otherNextPaneIndex = otherBarIndex + 1;
1451
+ var collapsecount = this.getCollapseCount(otherPrevPaneIndex, otherNextPaneIndex);
1452
+ if (this.paneSettings[otherPrevPaneIndex].collapsible &&
1453
+ this.paneSettings[otherNextPaneIndex].collapsible) {
1454
+ if (collapsecount === 0) {
1455
+ this.showTargetBarIcon(otherBar, targetIcon);
1456
+ this.showTargetBarIcon(otherBar, showIcon);
1457
+ if (this.checkResizableProp(otherPrevPaneIndex, otherNextPaneIndex)) {
1458
+ this.resizableModel(otherBarIndex, true);
1459
+ }
1460
+ }
1461
+ else if (collapsecount === 1) {
1462
+ this.hideBarIcons(otherBar);
1463
+ // If condition Edge case in flexible cases
1464
+ if (this.allPanes[otherPrevPaneIndex].classList.contains(EXPAND_PANE) ||
1465
+ this.allPanes[otherNextPaneIndex].classList.contains(EXPAND_PANE)) {
1466
+ this.showTargetBarIcon(otherBar, showIcon);
1467
+ }
1468
+ else {
1469
+ // Common case
1470
+ this.showTargetBarIcon(otherBar, targetIcon);
1471
+ }
1472
+ this.resizableModel(otherBarIndex, false);
1473
+ }
1474
+ }
1428
1475
  }
1429
1476
  }
1430
- else if (this.paneSettings[this.currentBarIndex].collapsible &&
1431
- !this.paneSettings[this.currentBarIndex + 1].collapsible) {
1432
- this.hideTargetBarIcon(this.currentSeparator, this.rightArrow);
1433
- }
1434
- }
1435
- else {
1436
- if (this.previousPane.previousElementSibling && this.paneSettings[this.prevPaneIndex].collapsible &&
1437
- (this.previousPane.previousElementSibling.classList.contains(COLLAPSE_PANE) &&
1438
- this.paneSettings[this.prevPaneIndex - 1].collapsible)) {
1439
- this.showTargetBarIcon(this.prevBar, this.rightArrow);
1440
- }
1441
- if (!this.paneSettings[this.currentBarIndex + 1].collapsible) {
1442
- this.hideTargetBarIcon(this.currentSeparator, this.rightArrow);
1477
+ else {
1478
+ this.hideTargetBarIcon(this.currentSeparator, targetIcon);
1479
+ this.showTargetBarIcon(this.currentSeparator, showIcon);
1480
+ if (!this.splitInstance.prevPaneCollapsed && !this.splitInstance.nextPaneCollapsed) {
1481
+ if (this.checkResizableProp(this.prevPaneIndex, this.nextPaneIndex)) {
1482
+ this.resizableModel(this.currentBarIndex, true);
1483
+ }
1484
+ }
1485
+ else {
1486
+ this.resizableModel(this.currentBarIndex, false);
1487
+ }
1443
1488
  }
1444
1489
  }
1445
1490
  }
1446
- else if (this.splitInstance.prevPaneExpanded && this.splitInstance.nextPaneCollapsed) {
1447
- this.resizableModel(this.currentBarIndex, false);
1448
- this.resizableModel(this.currentBarIndex + 1, false);
1449
- if (this.paneSettings[this.nextPaneIndex].collapsible) {
1450
- this.showCurrentBarIcon();
1451
- }
1452
- if (!isNullOrUndefined(this.nextBar)) {
1453
- this.hideTargetBarIcon(this.nextBar, this.arrow);
1454
- }
1455
- if (this.nextPane && this.nextPaneIndex === this.allPanes.length - 1 && (!this.paneSettings[this.nextPaneIndex].collapsible &&
1456
- this.splitInstance.nextPaneCollapsed)) {
1457
- this.hideTargetBarIcon(this.currentSeparator, this.arrow);
1458
- }
1459
- if (!(this.nextPaneIndex === this.allPanes.length - 1) && this.nextPane.nextElementSibling &&
1460
- this.nextPane.classList.contains(COLLAPSE_PANE) &&
1461
- !this.nextPane.nextElementSibling.classList.contains(COLLAPSE_PANE)
1462
- && this.paneSettings[this.nextPaneIndex].collapsible) {
1463
- this.showTargetBarIcon(this.nextBar, this.rightArrow);
1491
+ else {
1492
+ if (!this.paneSettings[this.prevPaneIndex].collapsible && !this.paneSettings[this.nextPaneIndex].collapsible) {
1493
+ if (this.checkResizableProp(this.prevPaneIndex, this.nextPaneIndex)) {
1494
+ this.resizableModel(this.currentBarIndex, true);
1495
+ }
1464
1496
  }
1465
1497
  }
1466
1498
  };
@@ -1781,7 +1813,7 @@ var Splitter = /** @class */ (function (_super) {
1781
1813
  }
1782
1814
  var allFlexiblePanes = flexPaneCount === this.allPanes.length;
1783
1815
  // Two flexible Pane Case.
1784
- if (this.previousPane.style.flexBasis === '' && this.nextPane.style.flexBasis == '' && !allFlexiblePanes) {
1816
+ if (this.previousPane.style.flexBasis === '' && this.nextPane.style.flexBasis === '' && !allFlexiblePanes) {
1785
1817
  var middlePaneIndex = this.allPanes.length % this.allBars.length;
1786
1818
  if (this.prevPaneIndex === middlePaneIndex) {
1787
1819
  this.nextPane.style.flexBasis = this.nextPaneCurrentWidth;