skip custom element check if svelte element uses under svg

pull/7869/head
Yuichiro Yamashita 4 years ago
parent 8ee6284c68
commit 8cf782bd7f

@ -806,12 +806,14 @@ export default class ElementWrapper extends Wrapper {
if (this.node.is_dynamic_element) { if (this.node.is_dynamic_element) {
// call attribute bindings for custom element if tag is custom element // call attribute bindings for custom element if tag is custom element
const tag = this.node.tag_expr.manipulate(block); const tag = this.node.tag_expr.manipulate(block);
const attr_update = b` const attr_update = this.node.namespace === namespaces.svg
if (/-/.test(${tag})) { ? b`${fn}(${this.var}, ${data});`
@set_custom_element_data_map(${this.var}, ${data}); : b`
} else { if (/-/.test(${tag})) {
${fn}(${this.var}, ${data}); @set_custom_element_data_map(${this.var}, ${data});
}`; } else {
${fn}(${this.var}, ${data});
}`;
block.chunks.hydrate.push(attr_update); block.chunks.hydrate.push(attr_update);
block.chunks.update.push(b` block.chunks.update.push(b`
${data} = @get_spread_update(${levels}, [${updates}]); ${data} = @get_spread_update(${levels}, [${updates}]);

@ -48,8 +48,10 @@ function create_dynamic_element(ctx) {
append(svelte_element1, svelte_element0); append(svelte_element1, svelte_element0);
}, },
p(ctx, dirty) { p(ctx, dirty) {
set_svg_attributes(svelte_element0, svelte_element0_data = get_spread_update(svelte_element0_levels, [{ xmlns: "http://www.w3.org/2000/svg" }])); svelte_element0_data = get_spread_update(svelte_element0_levels, [{ xmlns: "http://www.w3.org/2000/svg" }]);
set_svg_attributes(svelte_element1, svelte_element1_data = get_spread_update(svelte_element1_levels, [{ xmlns: "http://www.w3.org/2000/svg" }])); set_svg_attributes(svelte_element0, svelte_element0_data);
svelte_element1_data = get_spread_update(svelte_element1_levels, [{ xmlns: "http://www.w3.org/2000/svg" }]);
set_svg_attributes(svelte_element1, svelte_element1_data);
}, },
d(detaching) { d(detaching) {
if (detaching) detach(svelte_element1); if (detaching) detach(svelte_element1);
@ -108,4 +110,4 @@ class Component extends SvelteComponent {
} }
} }
export default Component; export default Component;

Loading…
Cancel
Save