5151            <div  class =" input-section" 
5252              <label  for =" dob" 
5353              </label >
54-               <input  type =" date" id =" dob" placeholder =" YYYY-MM-DD" v-model =" userCopy.dob " 
54+               <input  type =" date" id =" dob" placeholder =" YYYY-MM-DD" v-model =" userCopy.dob_formatted "   >
5555            </div >
5656
5757            <div  class =" input-section" 
8484import  Modal  from  ' @/components/layout/Modal.vue' 
8585import  { reactive , toRefs , inject  } from  ' vue' 
8686import  { usersApi  } from  ' @/api' 
87- //  import { debounce } from 'lodash'
87+ import  { cloneDeep  } from  ' lodash' 
88+ import  moment  from  ' moment' 
8889
8990export  default  {
9091  name:  ' update-profile-modal'  
@@ -94,6 +95,12 @@ export default {
9495  setup (props , { emit }) { 
9596    /*  Internal Methods */  
9697    //  const checkFormValid = () => v.form.valid = v.form.email.valid && v.form.email.unique && v.form.emailPassword.valid 
98+     const  decodeHtml  =  html  =>  { 
99+       let  text =  document .createElement (' textarea'  
100+       text .innerHTML  =  html 
101+       return  text .value  
102+     } 
103+ 
97104
98105    /*  Template Methods */  
99106    const  updateProfile  =  () =>  { 
@@ -121,7 +128,7 @@ export default {
121128
122129    /*  Template Data */  
123130    const  v  =  reactive ({ 
124-       userCopy:  props .user ,  
131+       userCopy:  cloneDeep ( props .user ),  //  don't want reactiveness  
125132      formValid:  false , 
126133      usernameUnique:  true , 
127134      usernameValid:  true , 
@@ -130,6 +137,12 @@ export default {
130137      errorMessage:  ' '  
131138    }) 
132139
140+     v .userCopy .dob_formatted  =  moment (v .userCopy .dob ).format (' YYYY-MM-DD'  
141+     v .userCopy .name  =  decodeHtml (v .userCopy .name ) 
142+     v .userCopy .gender  =  decodeHtml (v .userCopy .gender ) 
143+     v .userCopy .website  =  decodeHtml (v .userCopy .website ) 
144+     v .userCopy .location  =  decodeHtml (v .userCopy .location ) 
145+     v .userCopy .language  =  decodeHtml (v .userCopy .language ) 
133146    /*  Watch Data */  
134147    //  watch(() => v.form.emailPassword.val, val => { 
135148    //    v.form.emailPassword.valid = val && val.length >= 1 && val.length <= 72 
0 commit comments