Add a set of radio buttons for relock duration (#535)

* Add a set of radio buttons for relock duration
This commit is contained in:
gbrodman 2020-03-30 11:06:32 -04:00 committed by GitHub
parent 7880aab386
commit 73b98d298b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 37 additions and 1 deletions

View file

@ -167,6 +167,7 @@ registry.registrar.RegistryLock.prototype.lockOrUnlockDomain_ = function(isLock,
var domain = goog.dom.getRequiredElement('domain-lock-input-value').value;
var passwordElem = goog.dom.getElement('domain-lock-password');
var password = passwordElem == null ? null : passwordElem.value;
var relockDuration = this.getRelockDurationFromModal_()
goog.net.XhrIo.send('/registry-lock-post',
e => this.fillLocksPage_(e),
'POST',
@ -174,13 +175,30 @@ registry.registrar.RegistryLock.prototype.lockOrUnlockDomain_ = function(isLock,
'clientId': this.clientId,
'fullyQualifiedDomainName': domain,
'isLock': isLock,
'password': password
'password': password,
'relockDurationMillis': relockDuration
}), {
'X-CSRF-Token': this.xsrfToken,
'Content-Type': 'application/json; charset=UTF-8'
});
}
/**
* Returns the duration after which we will re-lock a locked domain. Will return null if we
* are locking a domain, or if the user selects the "Never" option
* @private
*/
registry.registrar.RegistryLock.prototype.getRelockDurationFromModal_ = function() {
var inputElements = goog.dom.getElementsByTagNameAndClass("input", "relock-duration-input");
for (var i = 0; i < inputElements.length; i++) {
var elem = inputElements[i];
if (elem.checked && elem.value !== "0") {
return elem.value;
}
}
return null;
}
/**
* Click handler for unlocking domains (button click).
* @private

View file

@ -132,6 +132,24 @@
<input type="password" id="domain-lock-password">
<br>
{/if}
{if not $isLock}
<div>
<br>
<p>Automatically re-lock the domain after:</p>
<input type="radio" name="relock-duration" id="one-hour-duration" value="3600000"
class="relock-duration-input">
<label for="one-hour-duration">1 hour</label><br>
<input type="radio" name="relock-duration" id="six-hour-duration" value="21600000"
class="relock-duration-input" checked>
<label for="six-hour-duration">6 hours</label><br>
<input type="radio" name="relock-duration" id="twenty-four-hour-duration" value="86400000"
class="relock-duration-input">
<label for="twenty-four-hour-duration">24 hours</label><br>
<input type="radio" name="relock-duration" id="never-relock-duration" value="0"
class="relock-duration-input">
<label for="never-relock-duration">Never</label><br>
</div>
{/if}
<div id="modal-error-message" hidden class="{css('kd-errormessage')}"></div>
<div class="{css('buttons-div')}">
<button id="domain-lock-cancel" class="{css('kd-button')}">Cancel</button>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Before After
Before After