1
+ <!doctype html>
2
+ < html lang ="en ">
3
+ < head >
4
+ < meta charset ="utf-8 "/>
5
+ < meta content ="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes " name ="viewport "/>
6
+
7
+ < title > Binding</ title >
8
+ < link rel ="stylesheet " href ="../resources/fore.css ">
9
+ < link href ="../resources/demo.css " rel ="stylesheet ">
10
+
11
+ < script src ="@webcomponents/webcomponentsjs/webcomponents-loader.js "> </ script >
12
+ < script type ="module ">
13
+ import '@polymer/iron-demo-helpers/demo-snippet.js' ;
14
+ import '@polymer/iron-demo-helpers/demo-pages-shared-styles.js' ;
15
+ </ script >
16
+
17
+ < link rel ="stylesheet " href ="../resources/vars.css ">
18
+ < style >
19
+ .required [slot = label ]: after {
20
+ content : '*' ;
21
+ color : red;
22
+ padding-left : 4px ;
23
+ }
24
+
25
+ [slot = hint ] {
26
+ display : block;
27
+ font-size : 0.9rem ;
28
+ padding-top : 4px ;
29
+ }
30
+
31
+ .buttons {
32
+ display : block;
33
+ }
34
+ xf-bound {
35
+ margin : 20px 0 ;
36
+ }
37
+ .diagram {
38
+ width : 600px ;
39
+ }
40
+ </ style >
41
+ </ head >
42
+ < body unresolved ="unresolved ">
43
+
44
+ < h1 > Bindings are fore-ever</ h1 >
45
+ < p > Sorry for the pun - couldn't resist</ p >
46
+ < img src ="../resources/images/modelitem.svg " class ="diagram ">
47
+ < demo-snippet >
48
+ < template >
49
+
50
+ < xf-form >
51
+ < xf-model >
52
+ < xf-instance >
53
+ < data >
54
+ < item > Hello</ item >
55
+ < required > true</ required >
56
+ < readonly > false</ readonly >
57
+ < constraint > true</ constraint >
58
+ < relevant > true</ relevant >
59
+ </ data >
60
+ </ xf-instance >
61
+ < xf-bind ref ="item "
62
+ required ="boolean-from-string(depends(../required)) "
63
+ readonly ="boolean-from-string(depends(../readonly)) "
64
+ constraint ="boolean-from-string(depends(../constraint)) "
65
+ relevant ="boolean-from-string(depends(../relevant)) "
66
+ > </ xf-bind >
67
+ </ xf-model >
68
+ < xf-group >
69
+ < xf-bound ref ="item ">
70
+ < label slot ="label "> ItemLabel</ label >
71
+ < span slot ="hint "> a hint for this item</ span >
72
+ < xf-alert slot ="alert "> This went wrong</ xf-alert >
73
+ <!--
74
+ <xf-message event="required">required event fired</xf-message>
75
+ <xf-message event="optional">optional event fired</xf-message>
76
+ <xf-message event="valid">valid event fired</xf-message>
77
+ <xf-message event="invalid">invalid event fired</xf-message>
78
+ <xf-message event="readwrite">readwrite event fired</xf-message>
79
+ <xf-message event="readonly">readonly event fired</xf-message>
80
+ <xf-message event="relevant">relevant event fired</xf-message>
81
+ <xf-message event="nonrelevant">nonrelevant event fired</xf-message>
82
+ -->
83
+
84
+ </ xf-bound >
85
+
86
+ < div class ="buttons ">
87
+ < xf-button label ="set required ">
88
+ < xf-setvalue ref ="required " value ="true "> </ xf-setvalue >
89
+ </ xf-button >
90
+ < xf-button label ="set optional ">
91
+ < xf-setvalue ref ="required " value ="false "> </ xf-setvalue >
92
+ </ xf-button >
93
+ </ div >
94
+ < div class ="buttons ">
95
+ < xf-button label ="set readonly ">
96
+ < xf-setvalue ref ="readonly " value ="true "> </ xf-setvalue >
97
+ </ xf-button >
98
+ < xf-button label ="set readwrite ">
99
+ < xf-setvalue ref ="readonly " value ="false "> </ xf-setvalue >
100
+ </ xf-button >
101
+ </ div >
102
+ < div class ="buttons ">
103
+ < xf-button label ="set valid ">
104
+ < xf-setvalue ref ="constraint " value ="true "> </ xf-setvalue >
105
+ </ xf-button >
106
+ < xf-button label ="set invalid ">
107
+ < xf-setvalue ref ="constraint " value ="false "> </ xf-setvalue >
108
+ </ xf-button >
109
+ </ div >
110
+ < div class ="buttons ">
111
+ < xf-button label ="set relevant ">
112
+ < xf-setvalue ref ="relevant " value ="true "> </ xf-setvalue >
113
+ </ xf-button >
114
+ < xf-button label ="set non-relevant ">
115
+ < xf-setvalue ref ="relevant " value ="false "> </ xf-setvalue >
116
+ </ xf-button >
117
+ </ div >
118
+ </ xf-group >
119
+ </ xf-form >
120
+ </ template >
121
+ </ demo-snippet >
122
+ < script type ="module " src ="../index.js "> </ script >
123
+
124
+ </ body >
125
+ </ html >
0 commit comments