File tree Expand file tree Collapse file tree 2 files changed +20
-23
lines changed Expand file tree Collapse file tree 2 files changed +20
-23
lines changed Original file line number Diff line number Diff line change 3
3
<script >
4
4
export let people = [];
5
5
6
- let filteredPeople;
7
- let selected;
8
6
let prefix = ' ' ;
9
7
let first = ' ' ;
10
8
let last = ' ' ;
11
9
let i = 0 ;
12
10
11
+ $: filteredPeople = prefix
12
+ ? people .filter (person => {
13
+ const name = ` ${ person .last } , ${ person .first } ` ;
14
+ return name .toLowerCase ().startsWith (prefix .toLowerCase ());
15
+ })
16
+ : people;
17
+
18
+ $: selected = filteredPeople[i];
19
+
20
+ $: reset_inputs (selected);
21
+
13
22
function create () {
14
23
people = people .concat ({ first, last });
15
24
i = people .length - 1 ;
27
36
i = Math .min (i, people .length - 1 );
28
37
}
29
38
30
- $: filteredPeople = prefix
31
- ? people .filter (person => {
32
- const name = ` ${ person .last } , ${ person .first } ` ;
33
- return name .toLowerCase ().startsWith (prefix .toLowerCase ());
34
- })
35
- : people;
36
-
37
- $: selected = filteredPeople[i];
38
-
39
- $: if (selected) {
40
- first = selected .first ;
41
- last = selected .last ;
39
+ function reset_inputs (person ) {
40
+ ({ first, last } = person);
42
41
}
43
42
</script >
44
43
Original file line number Diff line number Diff line change 1
1
<script >
2
2
const tomorrow = new Date (Date .now () + 86400000 );
3
3
4
- const tomorrowAsString = [
4
+ let start = [
5
5
tomorrow .getFullYear (),
6
6
pad (tomorrow .getMonth () + 1 , 2 ),
7
7
pad (tomorrow .getDate (), 2 )
8
8
].join (' -' );
9
9
10
- let start = tomorrowAsString;
11
- let end = tomorrowAsString;
10
+ let end = start;
12
11
let isReturn = false ;
13
12
14
- const startDate = () => convertToDate (start);
15
- const endDate = () => convertToDate (end);
16
-
13
+ $: startDate = convertToDate (start);
14
+ $: endDate = convertToDate (end);
17
15
18
16
function bookFlight () {
19
17
const type = isReturn ? ' return' : ' one-way' ;
20
18
21
- let message = ` You have booked a ${ type} flight, leaving ${ startDate () .toDateString ()} ` ;
19
+ let message = ` You have booked a ${ type} flight, leaving ${ startDate .toDateString ()} ` ;
22
20
if (type === ' return' ) {
23
- message += ` and returning ${ endDate () .toDateString ()} ` ;
21
+ message += ` and returning ${ endDate .toDateString ()} ` ;
24
22
}
25
23
26
24
alert (message);
57
55
58
56
<button
59
57
on:click ={bookFlight }
60
- disabled =" {isReturn && (startDate () >= endDate () )}"
58
+ disabled =" {isReturn && (startDate >= endDate )}"
61
59
>book</button >
You can’t perform that action at this time.
0 commit comments