From 7b6dbcd228fd28cb753b67573951f1511c211f67 Mon Sep 17 00:00:00 2001 From: baseballyama Date: Sat, 13 Nov 2021 17:02:08 +0900 Subject: [PATCH] revert add_transitions --- .../render_dom/wrappers/Element/index.ts | 38 +++++++++---------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/src/compiler/compile/render_dom/wrappers/Element/index.ts b/src/compiler/compile/render_dom/wrappers/Element/index.ts index 2e6ea0cc64..23b86f0d34 100644 --- a/src/compiler/compile/render_dom/wrappers/Element/index.ts +++ b/src/compiler/compile/render_dom/wrappers/Element/index.ts @@ -807,20 +807,18 @@ export default class ElementWrapper extends Wrapper { add_transitions( block: Block - ): { intro: Identifier | null, outro: Identifier | null } { - const names = { intro: null, outro: null }; + ) { const { intro, outro } = this.node; - if (!intro && !outro) return names; + if (!intro && !outro) return; if (intro === outro) { // bidirectional transition const name = block.get_unique_name(`${this.var.name}_transition`); - names.intro = names.outro = name; const snippet = intro.expression ? intro.expression.manipulate(block) : x`{}`; - block.add_variable(names.intro); + block.add_variable(name); const fn = this.renderer.reference(intro.name); @@ -855,11 +853,11 @@ export default class ElementWrapper extends Wrapper { block.chunks.destroy.push(b`if (detaching && ${name}) ${name}.end();`); } else { - names.intro = intro && block.get_unique_name(`${this.var.name}_intro`); - names.outro = outro && block.get_unique_name(`${this.var.name}_outro`); + const intro_name = intro && block.get_unique_name(`${this.var.name}_intro`); + const outro_name = outro && block.get_unique_name(`${this.var.name}_outro`); if (intro) { - block.add_variable(names.intro); + block.add_variable(intro_name); const snippet = intro.expression ? intro.expression.manipulate(block) : x`{}`; @@ -871,19 +869,19 @@ export default class ElementWrapper extends Wrapper { if (outro) { intro_block = b` @add_render_callback(() => { - if (${names.outro}) ${names.outro}.end(1); - ${names.intro} = @create_in_transition(${this.var}, ${fn}, ${snippet}); - ${names.intro}.start(); + if (${outro_name}) ${outro_name}.end(1); + ${intro_name} = @create_in_transition(${this.var}, ${fn}, ${snippet}); + ${intro_name}.start(); }); `; - block.chunks.outro.push(b`if (${names.intro}) ${names.intro}.invalidate();`); + block.chunks.outro.push(b`if (${intro_name}) ${intro_name}.invalidate();`); } else { intro_block = b` - if (!${names.intro}) { + if (!${intro_name}) { @add_render_callback(() => { - ${names.intro} = @create_in_transition(${this.var}, ${fn}, ${snippet}); - ${names.intro}.start(); + ${intro_name} = @create_in_transition(${this.var}, ${fn}, ${snippet}); + ${intro_name}.start(); }); } `; @@ -901,7 +899,7 @@ export default class ElementWrapper extends Wrapper { } if (outro) { - block.add_variable(names.outro); + block.add_variable(outro_name); const snippet = outro.expression ? outro.expression.manipulate(block) : x`{}`; @@ -910,14 +908,14 @@ export default class ElementWrapper extends Wrapper { if (!intro) { block.chunks.intro.push(b` - if (${names.outro}) ${names.outro}.end(1); + if (${outro_name}) ${outro_name}.end(1); `); } // TODO hide elements that have outro'd (unless they belong to a still-outroing // group) prior to their removal from the DOM let outro_block = b` - ${names.outro} = @create_out_transition(${this.var}, ${fn}, ${snippet}); + ${outro_name} = @create_out_transition(${this.var}, ${fn}, ${snippet}); `; if (outro.is_local) { @@ -930,15 +928,13 @@ export default class ElementWrapper extends Wrapper { block.chunks.outro.push(outro_block); - block.chunks.destroy.push(b`if (detaching && ${names.outro}) ${names.outro}.end();`); + block.chunks.destroy.push(b`if (detaching && ${outro_name}) ${outro_name}.end();`); } } if ((intro && intro.expression && intro.expression.dependencies.size) || (outro && outro.expression && outro.expression.dependencies.size)) { block.maintain_context = true; } - - return names; } add_animation(block: Block) {