Fix picking a type for the creator removes the entry. Close #5396

This commit is contained in:
Tom Najdek 2025-07-21 13:03:41 +02:00
parent 162fb4d51b
commit 2d4a086819
No known key found for this signature in database
GPG key ID: EEC61A7B4C667D77

View file

@ -1119,7 +1119,8 @@
rowLabel.appendChild(labelWrapper);
let label = this.createLabelElement({
id: 'creator-type-label-inner',
text: Zotero.getString('creatorTypes.' + Zotero.CreatorTypes.getName(typeID))
text: Zotero.getString('creatorTypes.' + Zotero.CreatorTypes.getName(typeID)),
skipEventHandlers: true,
});
labelWrapper.appendChild(label);
@ -1562,7 +1563,7 @@
return openLink;
}
createLabelElement({ text, id, attributes, classList }) {
createLabelElement({ text, id, attributes, classList, skipEventHandlers = false } = {}) {
let label = document.createElement('label');
label.classList.add('key', ...classList || []);
if (text) label.textContent = text;
@ -1573,7 +1574,7 @@
}
}
// On click of the label, toggle the focus of the value field
if (this.editable) {
if (this.editable && !skipEventHandlers) {
label.addEventListener('mousedown', (event) => {
// Prevent default focus/blur behavior - we implement our own below
event.preventDefault();