Advertisement
Guest User

Untitled

a guest
Dec 30th, 2019
455
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.46 KB | None | 0 0
  1. <template>
  2. <div>
  3. <h1>{{myEmail}} {{myUserType}}</h1>
  4. <div class="container">
  5. <div class="row justify-content-center" >
  6. <div class="card text-center col-sm-6 " style="margin-top:5px;" v-for="userDetails in userdata">
  7. <div class="card-header">
  8. {{userDetails.email}}
  9. </div>
  10. <div class="card-body">
  11. <p class="card-text">
  12. Adress:{{userDetails.adress}}<br>
  13. City:{{userDetails.city}}<br>
  14. Name:{{userDetails.fname}}<br>
  15. Surname:{{userDetails.lname}}<br>
  16. Zip:{{userDetails.zip}}<br>
  17. Id:{{userDetails.id}}
  18. </p>
  19. </div>
  20. <div class="card-footer text-muted">
  21. {{ userDetails.posted_at | formatTime }}
  22. </div>
  23.  
  24. <button @click="editComment(userDetails)" type="button" class="btn btn-primary" data-toggle="modal" data-target="#commentModal">
  25. note
  26. </button>
  27.  
  28. </div>
  29. <div class="card text-center col-sm-6 " style="margin-top:5px;" v-if="hasNoUserDetails">
  30. <div class="card-header">
  31. No user
  32. </div>
  33. <div class="card-body">
  34. <p class="card-text">
  35. No data
  36. </p>
  37. </div>
  38. </div>
  39. </div>
  40. </div>
  41. <div class="modal fade" id="commentModal" tabindex="-1" role="dialog" aria-labelledby="commentModalTitle" aria-hidden="true">
  42. <div class="modal-dialog modal-dialog-centered" role="document">
  43. <div class="modal-content">
  44. <div class="modal-header">
  45. <h5 class="modal-title" id="commentModalLongTitle">Insert comment</h5>
  46. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  47. <span aria-hidden="true">&times;</span>
  48. </button>
  49. </div>
  50. <div class="modal-body">
  51. <textarea placeholder="comment" v-model="note"></textarea>
  52. </div>
  53. <div class="modal-footer">
  54. <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
  55. <button @click="saveComment()" type="submit" class="btn btn-primary">Save</button>
  56. </div>
  57. </div>
  58. </div>
  59. </div>
  60. </div>
  61. </template>
  62. <script>
  63. import moment from 'moment'
  64. import store from '@/store.js'
  65. export default{
  66. data(){
  67. return store
  68. },
  69. computed: {
  70. hasNoUserDetails() {
  71. return this.userdata.length == 0;
  72. }
  73. },
  74. mounted(){
  75.  
  76. firebase.auth().onAuthStateChanged(user => {
  77. if(user){
  78. this.myEmail=user.email;
  79. db.collection("users")
  80. .doc(this.myEmail)
  81. .get()
  82. .then(doc => {
  83. if (doc.exists) {
  84. this.myUserType = doc.data().typeofuser;
  85. } else {
  86. console.log("No data");
  87. }
  88. });
  89. }
  90. });
  91. // fetch user addresses
  92. db.collection("form").where("posted_at", ">=", 1)
  93. .get()
  94. .then(querySnapshot => {
  95.  
  96. querySnapshot.forEach(doc => {
  97. console.log(doc.id, " => ", doc.data());
  98. this.userdata.push(Object.assign({}, doc.data(), {
  99. id: doc.id
  100. }));
  101. });
  102. })
  103. .catch(function(error) {
  104. console.log("Error getting documents: ", error);
  105. });
  106. },
  107. filters: {
  108. formatTime: function(value) {
  109. return moment(value).format('MMMM Do YYYY, h:mm:ss a')
  110. }
  111. },
  112. methods: {
  113. update(){
  114. db.collection("form").onSnapshot((querySnapshot)=>{
  115. this.userdata1=[]
  116. querySnapshot.forEach((doc)=>{
  117. this.userdata1.push(doc.data().comment);
  118. });
  119. });
  120. },
  121. editComment(userDetails) {
  122. $('#commentModal').modal('show');
  123. this.note = userDetails.comment || '';
  124. this.activeuser = userDetails.id;
  125. },
  126. saveComment() {
  127. let id = this.activeuser;
  128. if (!id) {
  129. alert('Fail');
  130. return;
  131. }
  132. db.collection("form")
  133. .doc(this.activeuser)
  134. .update({
  135. comment: this.note
  136. })
  137. .then(() =>{
  138. this.update();
  139. $('#commentModal').modal('hide');
  140. console.log("Document successfully written!");
  141. })
  142. .catch(function(error) {
  143. console.error("Error writing document: ", error);
  144. });
  145. }
  146. }
  147. };
  148. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement