@vaadin/vaadin-template-renderer
Advanced tools
Comparing version 21.0.0-alpha6 to 21.0.0-alpha7
{ | ||
"name": "@vaadin/vaadin-template-renderer", | ||
"version": "21.0.0-alpha6", | ||
"version": "21.0.0-alpha7", | ||
"description": "vaadin-template-renderer", | ||
@@ -29,5 +29,5 @@ "main": "vaadin-template-renderer.js", | ||
"@vaadin/testing-helpers": "^0.2.1", | ||
"@vaadin/vaadin-checkbox": "^21.0.0-alpha6", | ||
"@vaadin/vaadin-grid": "^21.0.0-alpha6", | ||
"@vaadin/vaadin-grid-pro": "^21.0.0-alpha6" | ||
"@vaadin/vaadin-checkbox": "^21.0.0-alpha7", | ||
"@vaadin/vaadin-grid": "^21.0.0-alpha7", | ||
"@vaadin/vaadin-grid-pro": "^21.0.0-alpha7" | ||
}, | ||
@@ -37,3 +37,3 @@ "publishConfig": { | ||
}, | ||
"gitHead": "70e820ca6ad22d0a85a4b50bfad65276ed36f344" | ||
"gitHead": "88400bb305d8d705df2c68d49b6d87c109b42d82" | ||
} |
@@ -17,2 +17,3 @@ import { FlattenedNodesObserver } from '@polymer/polymer/lib/utils/flattened-nodes-observer.js'; | ||
template.__templatizer = templatizer; | ||
renderer.__templatized = true; | ||
@@ -22,5 +23,34 @@ return renderer; | ||
function assignRenderer(component, rendererName, renderer) { | ||
const oldRenderer = component[rendererName]; | ||
if (oldRenderer && !oldRenderer.__templatized) { | ||
const tag = component.localName; | ||
throw new Error(`Cannot use both a template and a renderer for <${tag} />.`); | ||
} | ||
component[rendererName] = renderer; | ||
} | ||
function showTemplateWarning(component) { | ||
if (component.__suppressTemplateWarning) { | ||
return; | ||
} | ||
if (component.hasAttribute('suppress-template-warning')) { | ||
return; | ||
} | ||
console.warn( | ||
`WARNING: <template> inside <${component.localName}> is deprecated. Use a renderer function instead (see https://vaad.in/template-renderer)` | ||
); | ||
component.__suppressTemplateWarning = true; | ||
} | ||
function processGridTemplate(grid, template) { | ||
if (template.matches('.row-details')) { | ||
grid.rowDetailsRenderer = createRenderer(grid, template, GridTemplatizer); | ||
const renderer = createRenderer(grid, template, GridTemplatizer); | ||
assignRenderer(grid, 'rowDetailsRenderer', renderer); | ||
return; | ||
@@ -32,3 +62,4 @@ } | ||
if (template.matches('.header')) { | ||
column.headerRenderer = createRenderer(column, template); | ||
const renderer = createRenderer(column, template); | ||
assignRenderer(column, 'headerRenderer', renderer); | ||
return; | ||
@@ -38,3 +69,4 @@ } | ||
if (template.matches('.footer')) { | ||
column.footerRenderer = createRenderer(column, template); | ||
const renderer = createRenderer(column, template); | ||
assignRenderer(column, 'footerRenderer', renderer); | ||
return; | ||
@@ -44,10 +76,14 @@ } | ||
if (template.matches('.editor')) { | ||
column.editModeRenderer = createRenderer(column, template, GridTemplatizer); | ||
const renderer = createRenderer(column, template, GridTemplatizer); | ||
assignRenderer(column, 'editModeRenderer', renderer); | ||
return; | ||
} | ||
column.renderer = createRenderer(column, template, GridTemplatizer); | ||
const renderer = createRenderer(column, template, GridTemplatizer); | ||
assignRenderer(column, 'renderer', renderer); | ||
} | ||
function processTemplate(component, template) { | ||
showTemplateWarning(component); | ||
if (component.__gridElement) { | ||
@@ -63,3 +99,4 @@ processGridTemplate(component, template); | ||
component.renderer = createRenderer(component, template); | ||
const renderer = createRenderer(component, template); | ||
assignRenderer(component, 'renderer', renderer); | ||
} | ||
@@ -77,2 +114,3 @@ | ||
} | ||
processTemplate(component, template); | ||
@@ -90,2 +128,5 @@ }); | ||
/** | ||
* Public API | ||
*/ | ||
window.Vaadin = window.Vaadin || {}; | ||
@@ -92,0 +133,0 @@ window.Vaadin.templateRendererCallback = (component) => { |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
11986
304
0