mirror of https://github.com/sveltejs/svelte
parent
ac7f591f60
commit
04fc83d791
@ -0,0 +1,41 @@
|
|||||||
|
export default {
|
||||||
|
data: {
|
||||||
|
visible: false,
|
||||||
|
rows: [1, 2, 3],
|
||||||
|
cols: ['a', 'b', 'c']
|
||||||
|
},
|
||||||
|
|
||||||
|
html: ``,
|
||||||
|
|
||||||
|
compileOptions: {
|
||||||
|
dev: true
|
||||||
|
},
|
||||||
|
nestedTransitions: true,
|
||||||
|
skipIntroByDefault: true,
|
||||||
|
|
||||||
|
test(assert, component, target, window, raf) {
|
||||||
|
component.set({ visible: true });
|
||||||
|
assert.htmlEqual(target.innerHTML, `
|
||||||
|
<div class="row">
|
||||||
|
<div class="cell">1, a</div>
|
||||||
|
<div class="cell">1, b</div>
|
||||||
|
<div class="cell">1, c</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="cell">2, a</div>
|
||||||
|
<div class="cell">2, b</div>
|
||||||
|
<div class="cell">2, c</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="cell">3, a</div>
|
||||||
|
<div class="cell">3, b</div>
|
||||||
|
<div class="cell">3, c</div>
|
||||||
|
</div>
|
||||||
|
`);
|
||||||
|
|
||||||
|
component.set({ visible: false });
|
||||||
|
raf.tick(0);
|
||||||
|
raf.tick(100);
|
||||||
|
assert.htmlEqual(target.innerHTML, ``);
|
||||||
|
},
|
||||||
|
};
|
@ -0,0 +1,22 @@
|
|||||||
|
{#if visible}
|
||||||
|
{#each rows as row}
|
||||||
|
<div out:foo class="row">
|
||||||
|
{#each cols as col}
|
||||||
|
<div out:foo class="cell">{row}, {col}</div>
|
||||||
|
{/each}
|
||||||
|
</div>
|
||||||
|
{/each}
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
transitions: {
|
||||||
|
foo(node) {
|
||||||
|
return {
|
||||||
|
duration: 100,
|
||||||
|
tick: t => node.foo = t
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
@ -0,0 +1,44 @@
|
|||||||
|
<li>
|
||||||
|
<span>{dir}</span>
|
||||||
|
|
||||||
|
{#if open}
|
||||||
|
<ul>
|
||||||
|
{#each items as item (item.filename)}
|
||||||
|
{#if item.isDir}
|
||||||
|
<svelte:self dir={item.filename}/>
|
||||||
|
{:else}
|
||||||
|
<li>{item.filename}</li>
|
||||||
|
{/if}
|
||||||
|
{/each}
|
||||||
|
</ul>
|
||||||
|
{/if}
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
items: [],
|
||||||
|
open: true
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
computed: {
|
||||||
|
items: ({ dir }) => {
|
||||||
|
return dir === 'a'
|
||||||
|
? [
|
||||||
|
{
|
||||||
|
filename: 'a/b',
|
||||||
|
isDir: true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
: [
|
||||||
|
{
|
||||||
|
filename: 'a/b/c',
|
||||||
|
isDir: false
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
@ -0,0 +1,26 @@
|
|||||||
|
export default {
|
||||||
|
html: `
|
||||||
|
<li>
|
||||||
|
<span>a</span>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<span>a/b</span>
|
||||||
|
<ul>
|
||||||
|
<li>a/b/c</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
`,
|
||||||
|
|
||||||
|
nestedTransitions: true,
|
||||||
|
|
||||||
|
test(assert, component, target, window, raf) {
|
||||||
|
component.refs.folder.set({ open: false });
|
||||||
|
assert.htmlEqual(target.innerHTML, `
|
||||||
|
<li>
|
||||||
|
<span>a</span>
|
||||||
|
</li>
|
||||||
|
`);
|
||||||
|
},
|
||||||
|
};
|
@ -0,0 +1,9 @@
|
|||||||
|
<Folder ref:folder dir="a"/>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
Folder: './Folder.html'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
Loading…
Reference in new issue