fx-compat: initKeyEvent()new KeyboardEvent()

Quick Format change is untested
This commit is contained in:
Dan Stillman 2022-06-21 03:24:48 -04:00
parent 587ae6ba7e
commit f827b9ef50
2 changed files with 29 additions and 28 deletions

View file

@ -180,11 +180,16 @@ var Zotero_QuickFormat = new function () {
// load citation data // load citation data
if (io.citation.citationItems.length) { if (io.citation.citationItems.length) {
// hack to get spacing right // hack to get spacing right
var evt = qfiDocument.createEvent("KeyboardEvent"); let event = new KeyboardEvent(
evt.initKeyEvent("keypress", true, true, qfiWindow, "keypress",
0, 0, 0, 0, {
0, " ".charCodeAt(0)); key: " ",
qfe.dispatchEvent(evt); code: "Space",
bubbles: true,
cancelable: true,
}
);
qfe.dispatchEvent(event);
await resizePromise; await resizePromise;
var node = qfe.firstChild; var node = qfe.firstChild;
node.nodeValue = ""; node.nodeValue = "";

View file

@ -465,18 +465,15 @@ describe("ZoteroPane", function() {
var promise = waitForDialog(); var promise = waitForDialog();
var modifyPromise = waitForItemEvent('modify'); var modifyPromise = waitForItemEvent('modify');
var event = doc.createEvent("KeyboardEvent"); var event = new KeyboardEvent(
event.initKeyEvent(
"keypress", "keypress",
true, {
true, key: 'Delete',
window, code: 'Delete',
false, keyCode: DELETE_KEY_CODE,
false, bubbles: true,
false, cancelable: true
false, }
DELETE_KEY_CODE,
0
); );
tree.dispatchEvent(event); tree.dispatchEvent(event);
yield promise; yield promise;
@ -506,18 +503,17 @@ describe("ZoteroPane", function() {
var promise = waitForDialog(); var promise = waitForDialog();
var modifyPromise = waitForItemEvent('modify'); var modifyPromise = waitForItemEvent('modify');
var event = doc.createEvent("KeyboardEvent"); var event = new KeyboardEvent(
event.initKeyEvent(
"keypress", "keypress",
true, {
true, key: 'Delete',
window, code: 'Delete',
false, keyCode: DELETE_KEY_CODE,
false, bubbles: true,
!Zotero.isMac, // shift cancelable: true,
Zotero.isMac, // meta shiftKey: !Zotero.isMac,
DELETE_KEY_CODE, metaKey: Zotero.isMac,
0 }
); );
tree.dispatchEvent(event); tree.dispatchEvent(event);
yield promise; yield promise;
@ -588,9 +584,9 @@ describe("ZoteroPane", function() {
{ {
key: 'Delete', key: 'Delete',
code: 'Delete', code: 'Delete',
keyCode: DELETE_KEY_CODE,
metaKey: Zotero.isMac, metaKey: Zotero.isMac,
shiftKey: !Zotero.isMac, shiftKey: !Zotero.isMac,
keyCode: DELETE_KEY_CODE,
bubbles: true, bubbles: true,
cancelable: true cancelable: true
} }