| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <template>
- <div class="bg-lightgray m-1 p-2 border rounded container-fluid">
- <credential-form-modal :descriptions="creddescList" :modal-id="'credential'+this.data.credid+'editModal'" :populateWith="this.data"></credential-form-modal>
- <modal :id="'credential'+this.data.credid+'deleteModal'" tabindex="-1">
- <h5 slot="header" class="modal-title" :id="'credential'+this.data.credid+'deleteModalLabel'">
- Delete Credential
- </h5>
- <div slot="body">
- Are you sure?
- </div>
- <div slot="footer">
- <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
- <button type="button" class="btn btn-danger" @click=deleteCredential()>
- <div v-if="!credentialDeleting">Confirm</div>
- <circle-spinner v-else :size="2"></circle-spinner>
- </button>
- </div>
- </modal>
- <div class="row no-gutters">
- <div class="h5 col-3 text-left">{{this.data.creddesc}}</div>
- <div class="col-9 text-right">{{this.data.creddate}}</div>
- </div>
- <div class="row">
- <div class="col-lg-9">
- <div>
- <label for="username"><i class="fas fa-fw fa-user"></i></label>
- <input type="text" v-bind:id="'username' + this.data.credid" class="border-0 credential" v-bind:value=this.data.creduser readonly/>
- <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">
- <i class="far fa-clone"></i>
- </button>
- </div>
- <div>
- <label for="password"><i class="fas fa-fw fa-key"></i></label>
- <input type="text" v-bind:id="'password' + this.data.credid" class="border-0 credential" v-bind:value=this.data.credpass readonly/>
- <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">
- <i class="far fa-clone"></i>
- </button>
- </div>
- </div>
- <div class="btn-group col-lg-2 align-self-end w-25 w-lg-auto" role="group" aria-label="Edit and Delete">
- <button type="button" class="btn btn-sm btn-secondary p-lg-1" data-toggle="modal" :data-target="'#credential'+this.data.credid+'editModal'"><i class="fas fa-fw fa-edit"></i></button>
- <button type="button" class="btn btn-sm btn-danger p-lg-1" data-toggle="modal" :data-target="'#credential'+this.data.credid+'deleteModal'"><i class="fas fa-fw fa-trash-alt"></i></button>
- </div>
- </div>
- </div>
- </template>
- <script>
- import CredentialFormModal from '../components/CredentialFormModal.vue'
- import Modal from '../components/Modal.vue'
- import CircleSpinner from '../components/CircleSpinner.vue'
- export default {
- components: {
- CredentialFormModal,
- Modal,
- CircleSpinner,
- },
- props: {
- credential: {
- type: Object,
- required: true,
- },
- descriptions: {
- type: Object,
- required: true,
- }
- },
- data() {
- return {
- data: this.credential,
- creddescList: this.descriptions,
- credentialDeleting: false,
- }
- },
- mounted() {
- Echo.channel('credential.'+this.data.credid)
- .listen('CredentialUpdated', (e) => {
- this.data = e.credential;
- });
- },
- methods: {
- deleteCredential() {
- this.credentialDeleting = true
- axios.delete('/api/credentials/' + this.data.credid, this.data)
- .then(response => {
- this.credentialDeleting = false
- $('#credential'+this.data.credid+'deleteModal').modal('hide');
- }).catch(error => {
- this.credentialDeleting = false
- console.error(error)
- })
- }
- }
- }
- </script>
|