Changeset View
Changeset View
Standalone View
Standalone View
src/resources/vue/User/Info.vue
Show First 20 Lines • Show All 105 Lines • ▼ Show 20 Lines | <div class="container"> | ||||
</div> | </div> | ||||
<btn class="btn-primary" type="submit" icon="check">{{ $t('btn.submit') }}</btn> | <btn class="btn-primary" type="submit" icon="check">{{ $t('btn.submit') }}</btn> | ||||
</form> | </form> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div id="delete-warning" class="modal" tabindex="-1" role="dialog"> | <modal-dialog id="delete-warning" ref="deleteWarning" :buttons="['delete']" :cancel-focus="true" @click="deleteUser()" | ||||
<div class="modal-dialog" role="document"> | :title="$t('user.delete-email', { email: user.email })" | ||||
<div class="modal-content"> | > | ||||
<div class="modal-header"> | |||||
<h5 class="modal-title">{{ $t('user.delete-email', { email: user.email }) }}</h5> | |||||
<btn class="btn-close" data-bs-dismiss="modal" :aria-label="$t('btn.close')"></btn> | |||||
</div> | |||||
<div class="modal-body"> | |||||
<p>{{ $t('user.delete-text') }}</p> | <p>{{ $t('user.delete-text') }}</p> | ||||
</div> | </modal-dialog> | ||||
<div class="modal-footer"> | |||||
<btn class="btn-secondary modal-cancel" data-bs-dismiss="modal">{{ $t('btn.cancel') }}</btn> | |||||
<btn class="btn-danger modal-action" icon="trash-can" @click="deleteUser()">{{ $t('btn.delete') }}</btn> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import { Modal } from 'bootstrap' | |||||
import ListInput from '../Widgets/ListInput' | import ListInput from '../Widgets/ListInput' | ||||
import ModalDialog from '../Widgets/ModalDialog' | |||||
import PackageSelect from '../Widgets/PackageSelect' | import PackageSelect from '../Widgets/PackageSelect' | ||||
import PasswordInput from '../Widgets/PasswordInput' | import PasswordInput from '../Widgets/PasswordInput' | ||||
import StatusComponent from '../Widgets/Status' | import StatusComponent from '../Widgets/Status' | ||||
import SubscriptionSelect from '../Widgets/SubscriptionSelect' | import SubscriptionSelect from '../Widgets/SubscriptionSelect' | ||||
import { library } from '@fortawesome/fontawesome-svg-core' | import { library } from '@fortawesome/fontawesome-svg-core' | ||||
library.add( | library.add( | ||||
require('@fortawesome/free-regular-svg-icons/faClipboard').definition, | require('@fortawesome/free-regular-svg-icons/faClipboard').definition, | ||||
) | ) | ||||
export default { | export default { | ||||
components: { | components: { | ||||
ListInput, | ListInput, | ||||
ModalDialog, | |||||
PackageSelect, | PackageSelect, | ||||
PasswordInput, | PasswordInput, | ||||
StatusComponent, | StatusComponent, | ||||
SubscriptionSelect | SubscriptionSelect | ||||
}, | }, | ||||
data() { | data() { | ||||
return { | return { | ||||
passwordLinkCode: '', | passwordLinkCode: '', | ||||
Show All 31 Lines | export default { | ||||
this.passwordMode = 'input' | this.passwordMode = 'input' | ||||
} | } | ||||
} else { | } else { | ||||
this.passwordMode = 'input' | this.passwordMode = 'input' | ||||
} | } | ||||
}, | }, | ||||
mounted() { | mounted() { | ||||
$('#first_name').focus() | $('#first_name').focus() | ||||
$('#delete-warning')[0].addEventListener('shown.bs.modal', event => { | |||||
$(event.target).find('button.modal-cancel').focus() | |||||
}) | |||||
}, | }, | ||||
methods: { | methods: { | ||||
passwordLinkCopy() { | passwordLinkCopy() { | ||||
navigator.clipboard.writeText($('#password-link code').text()); | navigator.clipboard.writeText($('#password-link code').text()); | ||||
}, | }, | ||||
passwordLinkDelete() { | passwordLinkDelete() { | ||||
this.passwordMode = '' | this.passwordMode = '' | ||||
$('#pass-mode-link')[0].checked = false | $('#pass-mode-link')[0].checked = false | ||||
▲ Show 20 Lines • Show All 100 Lines • ▼ Show 20 Lines | export default { | ||||
}) | }) | ||||
}, | }, | ||||
showDeleteConfirmation() { | showDeleteConfirmation() { | ||||
if (this.user_id == this.$root.authInfo.id) { | if (this.user_id == this.$root.authInfo.id) { | ||||
// Deleting self, redirect to /profile/delete page | // Deleting self, redirect to /profile/delete page | ||||
this.$router.push({ name: 'profile-delete' }) | this.$router.push({ name: 'profile-delete' }) | ||||
} else { | } else { | ||||
// Display the warning | // Display the warning | ||||
new Modal('#delete-warning').show() | this.$refs.deleteWarning.show() | ||||
} | } | ||||
} | } | ||||
} | } | ||||
} | } | ||||
</script> | </script> |