send/app/templates/setPasswordSection/index.js

38 lines
1.1 KiB
JavaScript
Raw Normal View History

const html = require('choo/html');
const passwordInput = require('../passwordInput');
module.exports = function(state, emit) {
const file = state.storage.getFileById(state.params.id);
2018-02-16 20:56:53 +00:00
return html`
<div class="setPasswordSection">
<div class="checkbox">
<input
2018-02-16 20:56:53 +00:00
${file.hasPassword ? 'disabled' : ''}
2018-02-21 20:35:52 +00:00
${file.hasPassword || state.passwordSetError ? 'checked' : ''}
class="checkbox__input"
id="add-password"
type="checkbox"
autocomplete="off"
onchange=${togglePasswordInput}/>
<label class="checkbox__label" for="add-password">
${state.translate('requirePasswordCheckbox')}
</label>
</div>
2018-02-16 20:56:53 +00:00
${passwordInput(file, state, emit)}
</div>`;
function togglePasswordInput(e) {
const unlockInput = document.getElementById('password-input');
const boxChecked = e.target.checked;
document
2018-02-21 20:35:52 +00:00
.querySelector('.passwordInput')
.classList.toggle('passwordInput--hidden', !boxChecked);
if (boxChecked) {
unlockInput.focus();
} else {
unlockInput.value = '';
}
}
};