33 < head >
44 < script language ="javascript " src ="../../bower_components/webcomponentsjs/webcomponents.js "> </ script >
55 <!-- <link rel="import" href="../../build/strand.html" /> -->
6+
67 < link rel ="import " href ="../mm-dropdown/mm-dropdown.html " />
78 < link rel ="import " href ="../mm-input/mm-input.html " />
89 < link rel ="import " href ="../mm-inline-box/mm-inline-box.html " />
910 < link rel ="import " href ="../mm-header/mm-header.html " />
11+ < link rel ="import " href ="../mm-footer/mm-footer.html " />
12+ < link rel ="import " href ="../mm-button/mm-button.html " />
13+
1014 < link rel ="import " href ="mm-form.html " />
1115 < style type ="text/css ">
1216 body , html {
3236 </ head >
3337 < body >
3438
35- < mm-form unresolved >
39+ < mm-form id =" testForm " unresolved >
3640
3741 < div class ="col " span ="1 ">
38- < mm-header size ="medium "> Header </ mm-header >
42+ < mm-header size ="medium "> Type a Number </ mm-header >
3943 < mm-input form-id ="input "
4044 fitparent
41- placeholder ="Type Here Bro "
45+ validation ="int|empty "
46+ placeholder ="Type a Number "
4247 error-target ="#inputError "> </ mm-input >
4348 < mm-inline-box id ="inputError " type ="error " fitparent >
44- You done messed up, now what?
49+ You need to type a number
4550 </ mm-inline-box >
4651 </ div >
52+
4753 < div class ="col " span ="1 ">
48- < mm-header size ="medium "> Header </ mm-header >
54+ < mm-header size ="medium "> Select an Item </ mm-header >
4955 < mm-dropdown form-id ="dropdown "
5056 fitparent
51- placeholder ="Select Here Bro "
52- validate ="empty "
57+ placeholder ="Select an Item "
58+ validation ="empty "
5359 error-target ="#dropdownError ">
5460 < mm-list-item > List Item 1</ mm-list-item >
5561 < mm-list-item > List Item 2</ mm-list-item >
5662 < mm-list-item > List Item 3</ mm-list-item >
5763 < mm-list-item > List Item 4</ mm-list-item >
5864 </ mm-dropdown >
5965 < mm-inline-box id ="dropdownError " type ="error " fitparent >
60- You done messed up, now what?
66+ You need to select an item
6167 </ mm-inline-box >
6268 </ div >
69+
6370 <!--
6471 <div class="col" span="1">
6572 <mm-header size="medium">Header</mm-header>
7077 <mm-input fitparent placeholder="Type Here Bro"></mm-input>
7178 </div>
7279 -->
80+
81+ < mm-footer id ="testFormFooter " unresolved fitparent semi-transparent >
82+ < mm-button id ="submitBtn ">
83+ < label > Save</ label >
84+ </ mm-button >
85+ </ mm-footer >
86+
7387 </ mm-form >
7488
89+ < script >
90+ var testForm ,
91+ submitBtn ,
92+ testFormFooter ;
93+
94+ window . addEventListener ( 'WebComponentsReady' , function ( e ) {
95+
96+ testForm = Polymer . dom ( document ) . querySelector ( '#testForm' ) ;
97+ submitBtn = Polymer . dom ( document ) . querySelector ( '#submitBtn' ) ;
98+ testFormFooter = Polymer . dom ( document ) . querySelector ( '#testFormFooter' ) ;
99+
100+ submitBtn . addEventListener ( 'click' , submitForm ) ;
101+
102+ // TODO: test out in a view - think about architecture
103+ testForm . addEventListener ( 'form-submit' , function ( e ) {
104+ console . log ( e . detail ) ;
105+ if ( ! e . detail . isValid ) {
106+ testFormFooter . type = 'error' ;
107+ testFormFooter . message = 'This form contains errors' ;
108+ testFormFooter . showMessage ( ) ;
109+ } else {
110+ testFormFooter . type = 'success' ;
111+ testFormFooter . message = 'This form has been submitted' ;
112+ testFormFooter . showMessage ( ) ;
113+ }
114+ } ) ;
115+ } ) ;
116+
117+ function submitForm ( e ) {
118+ e . preventDefault ( ) ;
119+ testForm . submitForm ( ) ;
120+ }
121+
122+ </ script >
123+
75124 </ body >
76125</ html >
0 commit comments