@vaadin/vaadin-grid
Advanced tools
Comparing version 5.2.6 to 5.2.7
@@ -18,3 +18,3 @@ { | ||
"name": "@vaadin/vaadin-grid", | ||
"version": "5.2.6", | ||
"version": "5.2.7", | ||
"main": "vaadin-grid.js", | ||
@@ -34,6 +34,6 @@ "author": "Vaadin Ltd", | ||
"@polymer/polymer": "^3.0.0", | ||
"@polymer/iron-resizable-behavior": "^3.0.0", | ||
"@polymer/iron-scroll-target-behavior": "^3.0.0", | ||
"@polymer/iron-a11y-keys-behavior": "^3.0.0", | ||
"@polymer/iron-a11y-announcer": "^3.0.0", | ||
"@polymer/iron-resizable-behavior": "^3.0.0-pre.18", | ||
"@polymer/iron-scroll-target-behavior": "^3.0.0-pre.18", | ||
"@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.18", | ||
"@polymer/iron-a11y-announcer": "^3.0.0-pre.18", | ||
"@vaadin/vaadin-themable-mixin": "^1.2.1", | ||
@@ -56,14 +56,14 @@ "@vaadin/vaadin-checkbox": "^2.2.1", | ||
"wct-browser-legacy": "^1.0.1", | ||
"@polymer/iron-test-helpers": "^3.0.0", | ||
"@polymer/paper-input": "^3.0.0", | ||
"@polymer/paper-checkbox": "^3.0.0", | ||
"@polymer/iron-demo-helpers": "^3.0.0", | ||
"@polymer/iron-flex-layout": "^3.0.0", | ||
"@polymer/iron-image": "^3.0.0", | ||
"@polymer/paper-slider": "^3.0.0", | ||
"@polymer/iron-media-query": "^3.0.0", | ||
"@polymer/iron-component-page": "^4.0.0", | ||
"@polymer/iron-ajax": "^3.0.0", | ||
"@polymer/app-localize-behavior": "^3.0.0", | ||
"@polymer/iron-list": "^3.0.0", | ||
"@polymer/iron-test-helpers": "^3.0.0-pre.18", | ||
"@polymer/paper-input": "^3.0.0-pre.18", | ||
"@polymer/paper-checkbox": "^3.0.0-pre.18", | ||
"@polymer/iron-demo-helpers": "^3.0.0-pre.18", | ||
"@polymer/iron-flex-layout": "^3.0.0-pre.18", | ||
"@polymer/iron-image": "^3.0.0-pre.18", | ||
"@polymer/paper-slider": "^3.0.0-pre.18", | ||
"@polymer/iron-media-query": "^3.0.0-pre.18", | ||
"@polymer/iron-component-page": "^3.0.0-pre.18", | ||
"@polymer/iron-ajax": "^3.0.0-pre.18", | ||
"@polymer/app-localize-behavior": "^3.0.0-pre.18", | ||
"@polymer/iron-list": "^3.0.0-pre.18", | ||
"@vaadin/vaadin-demo-helpers": "^2.0.2", | ||
@@ -70,0 +70,0 @@ "@vaadin/vaadin-button": "^2.1.0" |
@@ -286,3 +286,2 @@ /** | ||
this.__setColumnTemplateOrRenderer(headerTemplate, headerRenderer, [headerCell]); | ||
headerCell.parentElement.hidden = false; | ||
} | ||
@@ -294,3 +293,3 @@ } | ||
this.__setColumnTemplateOrRenderer(footerTemplate, footerRenderer, [footerCell]); | ||
footerCell.parentElement.hidden = false; | ||
this._grid.__updateHeaderFooterRowVisibility(footerCell.parentElement); | ||
} | ||
@@ -358,6 +357,5 @@ } | ||
_pathOrHeaderChanged(path, header, headerCell, footerCell, cells, renderer, headerRenderer, bodyTemplate, headerTemplate) { | ||
const hasHeaderText = header !== undefined && header !== null; | ||
const hasHeaderText = header !== undefined; | ||
if (!headerRenderer && !headerTemplate && hasHeaderText && headerCell) { | ||
this.__setTextContent(headerCell._content, header); | ||
headerCell.parentElement.hidden = false; | ||
} | ||
@@ -371,7 +369,10 @@ | ||
if (!headerRenderer && !headerTemplate && !hasHeaderText && headerCell) { | ||
if (!headerRenderer && !headerTemplate && !hasHeaderText && headerCell && header !== null) { | ||
this.__setTextContent(headerCell._content, this._generateHeader(path)); | ||
headerCell.parentElement.hidden = false; | ||
} | ||
} | ||
if (headerCell) { | ||
this._grid.__updateHeaderFooterRowVisibility(headerCell.parentElement); | ||
} | ||
} | ||
@@ -378,0 +379,0 @@ |
@@ -313,3 +313,3 @@ /** | ||
static get version() { | ||
return '5.2.6'; | ||
return '5.2.7'; | ||
} | ||
@@ -506,6 +506,4 @@ | ||
cell = column[`_${section}Cell`] || this._createCell(tagName); | ||
cell._column = column; | ||
row.appendChild(cell); | ||
if (cell._instance) { | ||
row.hidden = false; | ||
} | ||
column[`_${section}Cell`] = cell; | ||
@@ -515,2 +513,3 @@ } else { | ||
cell = column._emptyCells.filter(cell => cell._vacant)[0] || this._createCell(tagName); | ||
cell._column = column; | ||
row.appendChild(cell); | ||
@@ -522,2 +521,3 @@ if (column._emptyCells.indexOf(cell) === -1) { | ||
cell.setAttribute('part', `cell ${section}-cell`); | ||
this.__updateHeaderFooterRowVisibility(row); | ||
} | ||
@@ -539,2 +539,43 @@ | ||
__updateHeaderFooterRowVisibility(row) { | ||
if (!row) { | ||
return; | ||
} | ||
const visibleRowCells = Array.from(row.children).filter(cell => { | ||
const column = cell._column; | ||
if (column._emptyCells && column._emptyCells.indexOf(cell) > -1) { | ||
// The cell is an "empty cell" -> doesn't block hiding the row | ||
return false; | ||
} | ||
if (row.parentElement === this.$.header) { | ||
if (column.headerRenderer || column._headerTemplate) { | ||
// The cell is the header cell of a column that has a header renderer | ||
// or a header template -> row should be visible | ||
return true; | ||
} | ||
if (column.header === null) { | ||
// The column header is explicilty set to null -> doesn't block hiding the row | ||
return false; | ||
} | ||
if (column.path || column.header !== undefined) { | ||
// The column has an explicit non-null header or a path that generates a header | ||
// -> row should be visible | ||
return true; | ||
} | ||
} else { | ||
if (column.footerRenderer || column._footerTemplate) { | ||
// The cell is the footer cell of a column that has a footer renderer | ||
// or a footer template -> row should be visible | ||
return true; | ||
} | ||
} | ||
}); | ||
if (row.hidden !== !visibleRowCells.length) { | ||
row.hidden = !visibleRowCells.length; | ||
this.notifyResize(); | ||
} | ||
} | ||
_updateScrollerItem(row, index) { | ||
@@ -541,0 +582,0 @@ this._preventScrollerRotatingCellFocus(row, index); |
255142
6717