snappymail/dev/View/Popup/ViewOpenPgpKey.js

53 lines
974 B
JavaScript

import { KeyState } from 'Common/Enums';
import { popup } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
@popup({
name: 'View/Popup/ViewOpenPgpKey',
templateID: 'PopupsViewOpenPgpKey'
})
class ViewOpenPgpKeyPopupView extends AbstractViewNext {
constructor() {
super();
this.addObservables({
key: '',
keyDom: null
});
this.sDefaultKeyScope = KeyState.PopupViewOpenPGP;
}
clearPopup() {
this.key('');
}
selectKey() {
const el = this.keyDom();
if (el) {
let sel = getSelection(),
range = document.createRange();
sel.removeAllRanges();
range.selectNodeContents(el);
sel.addRange(range);
}
}
onShow(openPgpKey) {
this.clearPopup();
if (openPgpKey) {
this.key(openPgpKey.armor);
}
}
onBuild() {
shortcuts.add('a', 'meta', KeyState.PopupViewOpenPGP, () => {
this.selectKey();
return false;
});
}
}
export { ViewOpenPgpKeyPopupView, ViewOpenPgpKeyPopupView as default };