Merge pull request #608 from mozilla/link-copy

disable copying link when password not completed
This commit is contained in:
Erica 2017-10-30 10:42:09 -04:00 committed by GitHub
commit a31f6b75d9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 4 deletions

View file

@ -57,13 +57,17 @@ module.exports = function(state, emit) {
input.disabled = true;
const copyBtn = document.getElementById('copy-btn');
copyBtn.disabled = true;
copyBtn.classList.add('success');
copyBtn.replaceChild(
html`<img src="${assets.get('check-16.svg')}" class="icon-check">`,
copyBtn.firstChild
);
await delay(2000);
input.disabled = false;
copyBtn.disabled = false;
if (!copyBtn.parentNode.classList.contains('wait-password')) {
copyBtn.disabled = false;
}
copyBtn.classList.remove('success');
copyBtn.textContent = state.translate('copyUrlFormButton');
}
}

View file

@ -21,14 +21,27 @@ module.exports = function(state, emit) {
</form>
</div>`;
function togglePasswordInput() {
function togglePasswordInput(e) {
const unlockInput = document.getElementById('unlock-input');
const boxChecked = e.target.checked;
document.querySelector('.setPassword').classList.toggle('hidden');
document
.getElementById('copy')
.classList.toggle('wait-password', boxChecked);
document.getElementById('copy-btn').disabled = boxChecked;
if (boxChecked) {
unlockInput.focus();
} else {
unlockInput.value = '';
}
}
function setPassword(event) {
event.preventDefault();
const password = document.getElementById('unlock-input').value;
if (password.length > 0) {
document.getElementById('copy').classList.remove('wait-password');
document.getElementById('copy-btn').disabled = false;
emit('password', { password, file });
}
}

View file

@ -553,6 +553,11 @@ tbody {
width: 100%;
}
#copy.wait-password #link,
#copy.wait-password #copy-btn {
opacity: 0.5;
}
#copy-text {
align-self: flex-start;
margin-top: 60px;
@ -596,13 +601,16 @@ tbody {
white-space: nowrap;
}
#copy-btn:hover {
#copy-btn:not(:disabled):hover {
background-color: #0287e8;
}
#copy-btn:disabled {
#copy-btn.success {
background: #05a700;
border: 1px solid #05a700;
}
#copy-btn:disabled {
cursor: auto;
}