58 lines
1.9 KiB
JavaScript
58 lines
1.9 KiB
JavaScript
class BypassTokenRevokeDialog extends EICDialogContent {
|
|
|
|
actions = [
|
|
{
|
|
label: 'Cancel',
|
|
onclick: this.cancel.bind(this),
|
|
severity: 'secondary',
|
|
role: 'cancel'
|
|
},
|
|
{
|
|
label: 'Revoke token',
|
|
onclick: this.revoke.bind(this),
|
|
severity: 'danger',
|
|
role: 'revoke',
|
|
disabled: true
|
|
}
|
|
]
|
|
|
|
constructor(options) { super(options); }
|
|
|
|
DOMContentLoaded(options) {
|
|
this.model = options.model;
|
|
|
|
let components = ui.eicfy(this.el);
|
|
|
|
this.form = new Form(this.find('.agreement'));
|
|
this.pic = options.pic;
|
|
this.find('input[name="track"]').value = options.track;
|
|
this.find('input[name="domain"]').value = options.domain;
|
|
this.optin = this.find('input[name="agreed"]');
|
|
this.optin.addEventListener('change',this.onAgreement.bind(this));
|
|
}
|
|
|
|
onAgreement() { this.actions.find(o => o.role == 'revoke').button.disabled = !this.optin.checked; }
|
|
|
|
revoke() {
|
|
if(this.form.validate()) {
|
|
this.actions.find(o => o.role == 'revoke').button.loading = true;
|
|
this.actions.find(o => o.role == 'cancel').button.disabled = true;
|
|
this.model.revoke(this.pic, this.form.value)
|
|
.then( this.commit.bind(this), this.abort.bind(this) )
|
|
}
|
|
}
|
|
|
|
onRevokeSuccess() {
|
|
this.actions.find(o => o.role == 'revoke').button.loading = false;
|
|
this.actions.find(o => o.role == 'cancel').button.disabled = false;
|
|
this.commit(true);
|
|
}
|
|
|
|
onRevokeFailed() {
|
|
this.actions.find(o => o.role == 'revoke').button.loading = false;
|
|
this.actions.find(o => o.role == 'cancel').button.disabled = false;
|
|
this.abort();
|
|
}
|
|
}
|
|
|
|
app.registerClass('BypassTokenRevokeDialog',BypassTokenRevokeDialog); |