Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "none",
"comment": "chore(fast-html): use @microsoft/fast-build to build repeat-event fixture",
"packageName": "@microsoft/fast-html",
"email": "7559015+janechu@users.noreply.github.com",
"dependentChangeType": "none"
}
2 changes: 1 addition & 1 deletion packages/fast-html/scripts/build-fixtures.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { fileURLToPath } from "node:url";

// Builds test fixtures using @microsoft/fast-build. Add fixture names here
// incrementally as each one is verified to work with the fast-build CLI.
const fixtures = ["attribute"];
const fixtures = ["attribute", "repeat-event"];

const __dirname = dirname(fileURLToPath(import.meta.url));
const require = createRequire(import.meta.url);
Expand Down
12 changes: 12 additions & 0 deletions packages/fast-html/test/fixtures/repeat-event/entry.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<test-element-repeat-event items="{{repeatEventItems}}"></test-element-repeat-event>
<test-when-in-repeat items="{{whenRepeatItems}}" show-names="{{showNames}}"></test-when-in-repeat>
<script type="module" src="./main.ts"></script>
</body>
</html>
96 changes: 40 additions & 56 deletions packages/fast-html/test/fixtures/repeat-event/index.html
Original file line number Diff line number Diff line change
@@ -1,65 +1,49 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8" />
<meta charset="utf-8">
<title></title>
<script type="module" src="./main.ts"></script>
</head>
<body>
<f-template name="test-element-repeat-event">
<template>
<ul>
<f-repeat value="{{item in items}}">
<li>
<button @click="{$c.parent.handleItemClick($e)}">{{item.name}}</button>
</li>
</f-repeat>
</ul>
</template>
</f-template>
<test-element-repeat-event>
<template shadowrootmode="open">
<ul>
<!--fe-b$$start$$0$$item-in-items$$fe-b--><!--fe-b$$end$$0$$item-in-items$$fe-b-->
</ul>
</template>
</test-element-repeat-event>
<test-element-repeat-event items="[Array]"><template shadowrootmode="open" shadowroot="open"><ul>
<!--fe-b$$start$$0$$repeat-0$$fe-b--><!--fe-b$$end$$0$$repeat-0$$fe-b-->
</ul></template></test-element-repeat-event>
<test-when-in-repeat items="[Array]" show-names="true"><template shadowrootmode="open" shadowroot="open"><ul>
<!--fe-b$$start$$0$$repeat-0$$fe-b--><!--fe-repeat$$start$$0$$fe-repeat-->
<li>
<!--fe-b$$start$$0$$when-0$$fe-b--><!--fe-b$$end$$0$$when-0$$fe-b-->
</li>
<!--fe-repeat$$end$$0$$fe-repeat--><!--fe-repeat$$start$$1$$fe-repeat-->
<li>
<!--fe-b$$start$$0$$when-0$$fe-b--><!--fe-b$$end$$0$$when-0$$fe-b-->
</li>
<!--fe-repeat$$end$$1$$fe-repeat--><!--fe-b$$end$$0$$repeat-0$$fe-b-->
</ul></template></test-when-in-repeat>
<f-template name="test-element-repeat-event">
<template>
<ul>
<f-repeat value="{{item in items}}">
<li>
<button @click="{$c.parent.handleItemClick($e)}">{{item.name}}</button>
</li>
</f-repeat>
</ul>
</template>
</f-template>
<f-template name="test-when-in-repeat">
<template>
<ul>
<f-repeat value="{{item in items}}">
<li>
<f-when value="{{$c.parent.showNames}}">
<button class="name" @click="{$c.parent.handleItemClick(e)}">{{item.name}}</button>
</f-when>
</li>
</f-repeat>
</ul>
</template>
</f-template>

<!-- f-when with c.parent inside f-repeat -->
<f-template name="test-when-in-repeat">
<template>
<ul>
<f-repeat value="{{item in items}}">
<li>
<f-when value="{{$c.parent.showNames}}">
<button class="name" @click="{$c.parent.handleItemClick(e)}">{{item.name}}</button>
</f-when>
</li>
</f-repeat>
</ul>
</template>
</f-template>
<test-when-in-repeat>
<template shadowrootmode="open">
<ul>
<!--fe-b$$start$$0$$WhenRepOuter$$fe-b-->
<!--fe-repeat$$start$$0$$fe-repeat-->
<li>
<!--fe-b$$start$$0$$WhenRepWhen$$fe-b-->
<button class="name" data-fe-b-0><!--fe-b$$start$$1$$WhenRepName$$fe-b-->Alpha<!--fe-b$$end$$1$$WhenRepName$$fe-b--></button>
<!--fe-b$$end$$0$$WhenRepWhen$$fe-b-->
</li>
<!--fe-repeat$$end$$0$$fe-repeat-->
<!--fe-repeat$$start$$1$$fe-repeat-->
<li>
<!--fe-b$$start$$0$$WhenRepWhen$$fe-b-->
<button class="name" data-fe-b-0><!--fe-b$$start$$1$$WhenRepName$$fe-b-->Beta<!--fe-b$$end$$1$$WhenRepName$$fe-b--></button>
<!--fe-b$$end$$0$$WhenRepWhen$$fe-b-->
</li>
<!--fe-repeat$$end$$1$$fe-repeat-->
<!--fe-b$$end$$0$$WhenRepOuter$$fe-b-->
</ul>
</template>
</test-when-in-repeat>
<script type="module" src="./main.ts"></script>
</body>
</html>
5 changes: 5 additions & 0 deletions packages/fast-html/test/fixtures/repeat-event/state.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"repeatEventItems": [],
"whenRepeatItems": [{ "name": "Alpha" }, { "name": "Beta" }],
"showNames": true
}
24 changes: 24 additions & 0 deletions packages/fast-html/test/fixtures/repeat-event/templates.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<f-template name="test-element-repeat-event">
<template>
<ul>
<f-repeat value="{{item in items}}">
<li>
<button @click="{$c.parent.handleItemClick($e)}">{{item.name}}</button>
</li>
</f-repeat>
</ul>
</template>
</f-template>
<f-template name="test-when-in-repeat">
<template>
<ul>
<f-repeat value="{{item in items}}">
<li>
<f-when value="{{$c.parent.showNames}}">
<button class="name" @click="{$c.parent.handleItemClick(e)}">{{item.name}}</button>
</f-when>
</li>
</f-repeat>
</ul>
</template>
</f-template>
Loading