fx-compat: Fix column picker context menu
This commit is contained in:
parent
4fcde6c8c5
commit
8b7d959781
2 changed files with 14 additions and 14 deletions
|
@ -3588,15 +3588,15 @@ var ItemTree = class ItemTree extends LibraryTree {
|
||||||
|
|
||||||
_displayColumnPickerMenu = (event) => {
|
_displayColumnPickerMenu = (event) => {
|
||||||
if (!this.props.columnPicker) return;
|
if (!this.props.columnPicker) return;
|
||||||
const ns = 'http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul';
|
|
||||||
const prefix = 'zotero-column-picker-';
|
const prefix = 'zotero-column-picker-';
|
||||||
const doc = document;
|
const doc = document;
|
||||||
|
const popupset = doc.getElementById('trees-popupset');
|
||||||
|
|
||||||
const menupopup = doc.createElementNS(ns, 'menupopup');
|
const menupopup = doc.createXULElement('menupopup');
|
||||||
menupopup.id = 'zotero-column-picker';
|
menupopup.id = 'zotero-column-picker';
|
||||||
menupopup.addEventListener('popuphiding', (event) => {
|
menupopup.addEventListener('popuphiding', (event) => {
|
||||||
if (event.target.id == menupopup.id) {
|
if (event.target.id == menupopup.id) {
|
||||||
document.children[0].removeChild(menupopup);
|
popupset.removeChild(menupopup);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -3607,7 +3607,7 @@ var ItemTree = class ItemTree extends LibraryTree {
|
||||||
const column = columns[i];
|
const column = columns[i];
|
||||||
if (column.ignoreInColumnPicker === true) continue;
|
if (column.ignoreInColumnPicker === true) continue;
|
||||||
let label = formatColumnName(column);
|
let label = formatColumnName(column);
|
||||||
let menuitem = doc.createElementNS(ns, 'menuitem');
|
let menuitem = doc.createXULElement('menuitem');
|
||||||
menuitem.setAttribute('type', 'checkbox');
|
menuitem.setAttribute('type', 'checkbox');
|
||||||
menuitem.setAttribute('label', label);
|
menuitem.setAttribute('label', label);
|
||||||
menuitem.setAttribute('colindex', i);
|
menuitem.setAttribute('colindex', i);
|
||||||
|
@ -3626,11 +3626,11 @@ var ItemTree = class ItemTree extends LibraryTree {
|
||||||
// More Columns menu
|
// More Columns menu
|
||||||
let id = prefix + 'more-menu';
|
let id = prefix + 'more-menu';
|
||||||
|
|
||||||
let moreMenu = doc.createElementNS(ns, 'menu');
|
let moreMenu = doc.createXULElement('menu');
|
||||||
moreMenu.setAttribute('label', Zotero.getString('pane.items.columnChooser.moreColumns'));
|
moreMenu.setAttribute('label', Zotero.getString('pane.items.columnChooser.moreColumns'));
|
||||||
moreMenu.setAttribute('anonid', id);
|
moreMenu.setAttribute('anonid', id);
|
||||||
|
|
||||||
let moreMenuPopup = doc.createElementNS(ns, 'menupopup');
|
let moreMenuPopup = doc.createXULElement('menupopup');
|
||||||
moreMenuPopup.setAttribute('anonid', id + '-popup');
|
moreMenuPopup.setAttribute('anonid', id + '-popup');
|
||||||
|
|
||||||
let moreItems = [];
|
let moreItems = [];
|
||||||
|
@ -3650,7 +3650,7 @@ var ItemTree = class ItemTree extends LibraryTree {
|
||||||
moreMenuPopup.appendChild(menupopup.removeChild(elem));
|
moreMenuPopup.appendChild(menupopup.removeChild(elem));
|
||||||
});
|
});
|
||||||
|
|
||||||
let sep = doc.createElementNS(ns, 'menuseparator');
|
let sep = doc.createXULElement('menuseparator');
|
||||||
menupopup.appendChild(sep);
|
menupopup.appendChild(sep);
|
||||||
moreMenu.appendChild(moreMenuPopup);
|
moreMenu.appendChild(moreMenuPopup);
|
||||||
menupopup.appendChild(moreMenu);
|
menupopup.appendChild(moreMenu);
|
||||||
|
@ -3675,12 +3675,12 @@ var ItemTree = class ItemTree extends LibraryTree {
|
||||||
|
|
||||||
const primaryFieldLabel = formatColumnName(columns.find(c => c.dataKey == primaryField));
|
const primaryFieldLabel = formatColumnName(columns.find(c => c.dataKey == primaryField));
|
||||||
|
|
||||||
const sortMenu = doc.createElementNS(ns, 'menu');
|
const sortMenu = doc.createXULElement('menu');
|
||||||
sortMenu.setAttribute('label',
|
sortMenu.setAttribute('label',
|
||||||
Zotero.getString('pane.items.columnChooser.secondarySort', primaryFieldLabel));
|
Zotero.getString('pane.items.columnChooser.secondarySort', primaryFieldLabel));
|
||||||
sortMenu.setAttribute('anonid', id);
|
sortMenu.setAttribute('anonid', id);
|
||||||
|
|
||||||
const sortMenuPopup = doc.createElementNS(ns, 'menupopup');
|
const sortMenuPopup = doc.createXULElement('menupopup');
|
||||||
sortMenuPopup.setAttribute('anonid', id + '-popup');
|
sortMenuPopup.setAttribute('anonid', id + '-popup');
|
||||||
|
|
||||||
// Generate menuitems
|
// Generate menuitems
|
||||||
|
@ -3703,7 +3703,7 @@ var ItemTree = class ItemTree extends LibraryTree {
|
||||||
let column = columns.find(c => c.dataKey == field);
|
let column = columns.find(c => c.dataKey == field);
|
||||||
let label = formatColumnName(column);
|
let label = formatColumnName(column);
|
||||||
|
|
||||||
let sortMenuItem = doc.createElementNS(ns, 'menuitem');
|
let sortMenuItem = doc.createXULElement('menuitem');
|
||||||
sortMenuItem.setAttribute('fieldName', field);
|
sortMenuItem.setAttribute('fieldName', field);
|
||||||
sortMenuItem.setAttribute('label', label);
|
sortMenuItem.setAttribute('label', label);
|
||||||
sortMenuItem.setAttribute('type', 'checkbox');
|
sortMenuItem.setAttribute('type', 'checkbox');
|
||||||
|
@ -3727,20 +3727,20 @@ var ItemTree = class ItemTree extends LibraryTree {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let sep = doc.createElementNS(ns, 'menuseparator');
|
let sep = doc.createXULElement('menuseparator');
|
||||||
// sep.setAttribute('anonid', prefix + 'sep');
|
// sep.setAttribute('anonid', prefix + 'sep');
|
||||||
menupopup.appendChild(sep);
|
menupopup.appendChild(sep);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Restore Default Column Order
|
// Restore Default Column Order
|
||||||
//
|
//
|
||||||
let menuitem = doc.createElementNS(ns, 'menuitem');
|
let menuitem = doc.createXULElement('menuitem');
|
||||||
menuitem.setAttribute('label', Zotero.Intl.strings['zotero.items.restoreColumnOrder.label']);
|
menuitem.setAttribute('label', Zotero.Intl.strings['zotero.items.restoreColumnOrder.label']);
|
||||||
menuitem.setAttribute('anonid', prefix + 'restore-order');
|
menuitem.setAttribute('anonid', prefix + 'restore-order');
|
||||||
menuitem.addEventListener('command', () => this.tree._columns.restoreDefaultOrder());
|
menuitem.addEventListener('command', () => this.tree._columns.restoreDefaultOrder());
|
||||||
menupopup.appendChild(menuitem);
|
menupopup.appendChild(menuitem);
|
||||||
|
|
||||||
document.children[0].appendChild(menupopup);
|
popupset.appendChild(menupopup);
|
||||||
menupopup.openPopupAtScreen(
|
menupopup.openPopupAtScreen(
|
||||||
window.screenX + event.clientX + 2,
|
window.screenX + event.clientX + 2,
|
||||||
window.screenY + event.clientY + 2,
|
window.screenY + event.clientY + 2,
|
||||||
|
|
|
@ -939,7 +939,7 @@
|
||||||
</div>
|
</div>
|
||||||
</vbox>
|
</vbox>
|
||||||
|
|
||||||
<popupset>
|
<popupset id="trees-popupset">
|
||||||
<tooltip id="html-tooltip" page="true"/>
|
<tooltip id="html-tooltip" page="true"/>
|
||||||
<menupopup id="zotero-collectionmenu"
|
<menupopup id="zotero-collectionmenu"
|
||||||
oncommand="ZoteroPane.onCollectionContextMenuSelect(event)">
|
oncommand="ZoteroPane.onCollectionContextMenuSelect(event)">
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue