Skip to content

Commit

Permalink
Fixed: headers behaviour after disabling them in updateSettings. #4136
Browse files Browse the repository at this point in the history
  • Loading branch information
mrpiotr-dev committed Jan 5, 2019
1 parent 2093d85 commit 85c2db4
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 14 deletions.
6 changes: 5 additions & 1 deletion src/3rdparty/walkontable/src/viewport.js
Expand Up @@ -189,7 +189,11 @@ class Viewport {
* @returns {Number}
*/
getColumnHeaderHeight() {
if (isNaN(this.columnHeaderHeight)) {
const columnHeaders = this.instance.getSetting('columnHeaders');

if (!columnHeaders.length) {
this.columnHeaderHeight = 0;
} else if (isNaN(this.columnHeaderHeight)) {
this.columnHeaderHeight = outerHeight(this.wot.wtTable.THEAD);
}

Expand Down
10 changes: 5 additions & 5 deletions src/plugins/autoColumnSize/autoColumnSize.js
Expand Up @@ -254,11 +254,11 @@ class AutoColumnSize extends BasePlugin {
this.inProgress = false;

// @TODO Should call once per render cycle, currently fired separately in different plugins
this.hot.view.wt.wtOverlays.adjustElementsSize(true);
// tmp
if (this.hot.view.wt.wtOverlays.leftOverlay.needFullRender) {
this.hot.view.wt.wtOverlays.leftOverlay.clone.draw();
}
// this.hot.view.wt.wtOverlays.adjustElementsSize(true);
// // tmp
// if (this.hot.view.wt.wtOverlays.leftOverlay.needFullRender) {
// this.hot.view.wt.wtOverlays.leftOverlay.clone.draw();
// }
}
};

Expand Down
14 changes: 10 additions & 4 deletions test/e2e/ColHeader.spec.js
Expand Up @@ -107,18 +107,24 @@ describe('ColHeader', () => {

it('should hide columns headers after updateSettings', () => {
const hot = handsontable({
startCols: 5,
startCols: 100,
startRows: 100,
width: 250,
height: 200,
colHeaders: true
});
let headers = getHtCore().find('thead th').length;

expect(getHtCore().find('thead th').length).toEqual(5);
expect(getTopClone().find('thead th').length).toEqual(5);
expect(headers).toBeGreaterThan(0);
expect(getTopClone().find('thead th').length).toEqual(headers);

hot.updateSettings({
colHeaders: false
});

expect(getHtCore().find('thead th').length).toEqual(0);
headers = getHtCore().find('thead th').length;

expect(headers).toEqual(0);
expect(getTopClone().width()).toEqual(0);
});

Expand Down
15 changes: 11 additions & 4 deletions test/e2e/RowHeader.spec.js
Expand Up @@ -68,18 +68,25 @@ describe('RowHeader', () => {

it('should hide rows headers after updateSetting', () => {
const hot = handsontable({
startRows: 5,
startCols: 100,
startRows: 100,
width: 250,
height: 200,
rowHeaders: true
});
let headers = getHtCore().find('tbody th').length;

expect(getHtCore().find('tbody th').length).toEqual(5);
expect(getLeftClone().find('tbody th').length).toEqual(5);
expect(headers).toBeGreaterThan(0);
expect(getLeftClone().find('tbody th').length).toEqual(headers);

hot.updateSettings({
rowHeaders: false
});

expect(getHtCore().find('tbody th').length).toEqual(0);
headers = getHtCore().find('tbody th').length;

expect(headers).toEqual(0);
expect(getLeftClone().width()).toEqual(0);
});

it('should show rows headers after updateSettings', () => {
Expand Down

0 comments on commit 85c2db4

Please sign in to comment.