fx115: fix element width/height persist (#3944)

This commit is contained in:
windingwind 2024-04-10 06:00:40 +08:00 committed by GitHub
parent 49923780ca
commit ecea550a37
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 9 additions and 4 deletions

View file

@ -27,7 +27,7 @@
{
class ItemPane extends XULElementBase {
content = MozXULElement.parseXULToFragment(`
<deck id="zotero-item-pane-content" class="zotero-item-pane-content" selectedIndex="0" flex="1" zotero-persist="width height" height="300">
<deck id="zotero-item-pane-content" class="zotero-item-pane-content" selectedIndex="0" flex="1">
<item-message-pane id="zotero-item-message" />
<item-details id="zotero-item-details" />

View file

@ -5996,7 +5996,7 @@ var ZoteroPane = new function()
this.unserializePersist = function () {
_unserialized = true;
var serializedValues = Zotero.Prefs.get("pane.persist");
if(!serializedValues) return;
if (!serializedValues) return;
serializedValues = JSON.parse(serializedValues);
for (var id in serializedValues) {
@ -6007,7 +6007,7 @@ var ZoteroPane = new function()
}
var elValues = serializedValues[id];
for(var attr in elValues) {
for (var attr in elValues) {
// Ignore persisted collapsed state for collection and item pane splitters, since
// people close them by accident and don't know how to get them back
// TODO: Add a hidden pref to allow them to stay closed if people really want that?
@ -6016,6 +6016,9 @@ var ZoteroPane = new function()
&& Zotero.Prefs.get('reopenPanesOnRestart')) {
continue;
}
if (["width", "height"].includes(attr)) {
el.style[attr] = `${elValues[attr]}px`;
}
el.setAttribute(attr, elValues[attr]);
}
}
@ -6024,7 +6027,8 @@ var ZoteroPane = new function()
// may not yet be initialized
try {
this.itemsView.sort();
} catch(e) {};
}
catch (e) {}
}
};

View file

@ -13,6 +13,7 @@
min-height: 0;
flex: 1;
width: auto !important;
height: auto !important;
min-width: $min-width-item-pane;
/* Need a min height to prevent layout issues in stacked mode */
min-height: 168px;