credential.vue 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <template>
  2. <div class="bg-lightgray m-1 p-2 border rounded container-fluid">
  3. <div class="row no-gutters">
  4. <div class="h5 col-3 text-left">{{this.data.creddesc}}</div>
  5. <div class="col-9 text-right">{{this.data.creddate}}</div>
  6. </div>
  7. <div class="row">
  8. <div class="col-lg-9">
  9. <div>
  10. <label for="username"><i class="fas fa-fw fa-user"></i></label>
  11. <input type="text" v-bind:id="'username' + this.data.credid" class="border-0 credential" v-bind:value=this.data.creduser readonly/>
  12. <button v-bind:id="'btn-username' + this.data.credid" class="btn-clip btn btn-sm btn-primary rounded-pill" v-bind:data-clipboard-target="'#username' + this.data.credid">
  13. <i class="far fa-clone"></i>
  14. </button>
  15. </div>
  16. <div>
  17. <label for="password"><i class="fas fa-fw fa-key"></i></label>
  18. <input type="text" v-bind:id="'password' + this.data.credid" class="border-0 credential" v-bind:value=this.data.credpass readonly/>
  19. <button v-bind:id="'btn-password' + this.data.credid" class="btn-clip btn btn-sm btn-primary rounded-pill" v-bind:data-clipboard-target="'#password' + this.data.credid">
  20. <i class="far fa-clone"></i>
  21. </button>
  22. </div>
  23. </div>
  24. <div class="btn-group col-lg-2 align-self-end w-25 w-lg-auto" role="group" aria-label="Edit and Delete">
  25. <button type="button" class="btn btn-sm btn-secondary p-lg-1"><i class="fas fa-fw fa-edit"></i></button>
  26. <button type="button" class="btn btn-sm btn-danger p-lg-1"><i class="fas fa-fw fa-trash-alt"></i></button>
  27. </div>
  28. </div>
  29. </div>
  30. </template>
  31. <script>
  32. export default {
  33. props: ['credential'],
  34. data() {
  35. return {
  36. data: JSON.parse(this.credential)
  37. }
  38. },
  39. mounted() {
  40. Echo.channel('credentials')
  41. .listen('CredentialUpdated', (e) => {
  42. this.data = JSON.parse(e.data);
  43. });
  44. }
  45. }
  46. </script>