FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
hyperHTML/test/diff.html at component-for-constructor · lineCode/hyperHTML · GitHub
lineCode
/
hyperHTML
Public
forked from
WebReflection/hyperHTML
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
hyperHTML
/
test
/
diff.html
Copy path
More file actions
More file actions
Latest commit
History
History
History
95 lines (80 loc) · 1.86 KB
Breadcrumbs
hyperHTML
/
test
/
diff.html
Copy path
File metadata and controls
95 lines (80 loc) · 1.86 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<!doctype html
>
<
style
>
html
{
font-family
:
sans-serif;
}
user-info
{
display
:
block;
}
user-info
small
{
font-family
:
monospace;
font-size
:
.7
em
;
}
#
logs
{
margin-top
:
32
px
;
}
</
style
>
<
div
id
="
user-list
"
>
</
div
>
<
div
id
="
logs
"
>
</
div
>
<
script
src
="
https://unpkg.com/ce-v0@latest/min.js
"
>
</
script
>
<
script
src
="
https://unpkg.com/ce-v0@latest/comp.js
"
>
</
script
>
<
script
src
="
../index.js
"
>
</
script
>
<
script
>
// basic Custom Element
Component
(
{
name
:
'user-info'
,
// every time a node is inserted live on DOM
// it will log the information
onconnected
(
)
{
log
(
'connected: '
+
this
.
getAttribute
(
'name'
)
)
;
}
}
)
;
var
perf
=
console
.
time
?
console
:
{
time
(
)
{
this
.
_
=
(
new
Date
)
.
getTime
(
)
;
}
,
timeEnd
(
)
{
console
.
log
(
(
new
Date
)
.
getTime
(
)
-
this
.
_
)
;
}
}
;
var
wire
=
hyperHTML
.
wire
;
var
users
=
[
{
name
:
'Zoe'
,
age
:
34
}
,
{
name
:
'Brian'
,
age
:
29
}
,
{
name
:
'Stephen'
,
age
:
50
}
,
{
name
:
'Alan'
,
age
:
14
}
,
{
name
:
'Joe'
,
age
:
31
}
]
;
// first update, populate the body
log
(
'<strong>DOM changes</strong>'
)
;
log
(
'- - - - - - - - - -'
)
;
update
(
)
;
// after one second
setTimeout
(
(
)
=>
{
// sort the users list by name
users
.
sort
(
(
a
,
b
)
=>
a
.
name
<
b
.
name
?
-
1
:
1
)
;
// update + see which user was moved around
update
(
)
;
// after another second
setTimeout
(
(
)
=>
{
// sort the users list by age
users
.
sort
(
(
a
,
b
)
=>
a
.
age
-
b
.
age
)
;
// update + see which user was moved around
update
(
)
;
}
,
1000
)
;
}
,
1000
)
;
function
log
(
text
)
{
logs
.
innerHTML
+=
text
+
'<br>'
;
}
function
update
(
)
{
log
(
`<small>
${
users
.
map
(
user
=>
user
.
name
)
.
join
(
', '
)
}
</small>`
)
;
perf
.
time
(
)
;
hyperHTML
.
bind
(
window
[
'user-list'
]
)
`
${
users
.
map
(
user
=>
wire
(
user
)
`<user-info name=
${
user
.
name
}
>
<small>
${
user
.
age
}
</small>
${
user
.
name
}
</user-info>`
)
}
`
;
perf
.
timeEnd
(
)
;
setTimeout
(
log
,
100
,
'- - - - - - - - - -'
)
;
}
</
script
>
Back
|
FazBrowse Home
|
New Git URL