11class AddUser {
22 constructor ( ) {
3- this . basicUserInfo = [ 'First Name' , 'Last Name' , 'Company ' ] ;
3+ this . basicUserInfo = [ 'First Name' , 'Last Name' , 'Mobile phone' , 'Email '] ;
44 this . additionalUserInfo = [
5- 'add mobile phone' , 'add home phone', 'add email ' , 'add address' , 'add birthday' , 'add social profile' , 'add field'
5+ 'add home phone' , 'company ' , 'add address' , 'add birthday' , 'add social profile' , 'add field'
66 ] ;
77 } ;
88
@@ -15,18 +15,14 @@ class AddUser {
1515 </div>
1616 ` ;
1717 let editBasicField = this . basicUserInfo . reduce ( ( start , elem ) => {
18- start += `
19- <div class="edit-field ">
20- <button href="#" class="add-btn"><span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span>
21- <span>${ elem } </span>
22- </button>
23- <label>
24- <input type="text" class="${ elem } "/>
25- <button class="save">s</button>
26- <button class="cancel">c</button>
27- </label>
28- </div>
29- ` ;
18+ let addClass = elem . replace ( / \s / g, '_' ) ;
19+ start += `
20+ <div class="edit-field add-btn">
21+ <span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span>
22+ <input type="text" class="glyphicon-plus-sign ${ addClass } " placeholder="${ elem } "/>
23+
24+ </div>
25+ ` ;
3026 return start ;
3127 } , '' ) ;
3228 let resEditBasicField = addPhoto + open + `${ editBasicField } </div>` ;
@@ -39,12 +35,11 @@ class AddUser {
3935 <div class="edit-info">
4036 ` ;
4137 let editAdditionalField = this . additionalUserInfo . reduce ( ( start , elem ) => {
42- let addClass = elem . replace ( / \s / g, '_' ) ;
38+ /* let addClass = elem.replace(/\s/g, '_');*/
4339 start += `
44- <div class="edit-field ${ addClass } ">
45- <button href="#" class="add-btn"><span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span>
46- <span>${ elem } </span>
47- </button>
40+ <div class="edit-field add-btn">
41+ <span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span>
42+ <input type="text" class="glyphicon-plus-sign" placeholder="${ elem } "/>
4843 </div>
4944 ` ;
5045 return start ;
@@ -59,18 +54,40 @@ class AddUser {
5954 } ;
6055
6156 addEvents ( ) {
62- let test = document . querySelector ( '.main-info-holder' ) ;
63- test . addEventListener ( 'click' , function ( e ) {
64- if ( e . target . tagName == "BUTTON" || e . target . parentNode . tagName == "BUTTON" ) {
65- let label = document . querySelectorAll ( 'div.edit-field label' ) ;
66- [ ...label ] . forEach ( ( elem ) => {
67- if ( elem . firstElementChild . className == e . target . textContent ) {
68- elem . style . display = 'block' ;
69- } ;
70- } ) ;
71- } ;
57+ let delEnteredData = document . querySelector ( 'button.delete-contact' ) ;
58+ delEnteredData . addEventListener ( 'click' , function ( ) {
59+ let input = document . querySelectorAll ( 'input[placeholder]' ) ;
60+ [ ...input ] . forEach ( elem => {
61+ elem . value = '' ;
62+ } )
7263 } ) ;
64+ let addUser = document . querySelector ( 'button.done-btn' ) ;
65+ addUser . addEventListener ( 'click' , function ( ) {
66+ let input = document . querySelectorAll ( 'input[placeholder]' ) ;
67+ let objUser = [ ...input ] . reduce ( ( done , elem ) => {
68+ if ( elem . className === 'glyphicon-plus-sign Email' ) {
69+ done . email = elem . value ;
70+ } else if ( elem . className === 'glyphicon-plus-sign First_Name' ) {
71+ done . fullName = `${ elem . value } ` ;
72+ } else if ( elem . className === 'glyphicon-plus-sign Last_Name' ) {
73+ done . fullName += elem . value ;
74+ } else if ( elem . className === 'glyphicon-plus-sign Mobile_phone' ) {
75+ done . phone = elem . value ;
76+ } else {
77+ let key = elem . placeholder . replace ( / \s / g, '_' ) ;
78+ done [ key ] = elem . value ;
79+ } ;
80+ return done ;
81+ } , { } ) ;
7382
83+ fetch ( API_URL , {
84+ method : 'POST' ,
85+ headers : {
86+ 'Content-Type' : 'application/json'
87+ } ,
88+ body : JSON . stringify ( objUser )
89+ } ) ;
90+ } ) ;
7491 }
7592
7693 renderAddUser ( ) {
0 commit comments