Don't show Show/Hide button in My Publications for linked files

This commit is contained in:
Dan Stillman 2017-04-27 03:57:33 -04:00
parent 8dacf4455d
commit d715197b2f
2 changed files with 42 additions and 6 deletions

View File

@ -1605,12 +1605,17 @@ var ZoteroPane = new function()
}
// My Publications buttons
let isPublications = this.getCollectionTreeRow().isPublications();
let myPublicationsButtons = document.getElementById('zotero-item-pane-top-buttons-my-publications');
let regularItemsSelected = selectedItems.some(item => item.isRegularItem());
let myPublicationsShown = isPublications && !regularItemsSelected;
myPublicationsButtons.hidden = !myPublicationsShown;
if (myPublicationsShown) {
var isPublications = this.getCollectionTreeRow().isPublications();
// Show in My Publications view if selected items are all notes or non-linked-file attachments
var showMyPublicationsButtons = isPublications
&& selectedItems.every((item) => {
return item.isNote()
|| (item.isAttachment()
&& item.attachmentLinkMode != Zotero.Attachments.LINK_MODE_LINKED_FILE);
});
var myPublicationsButtons = document.getElementById('zotero-item-pane-top-buttons-my-publications');
myPublicationsButtons.hidden = !showMyPublicationsButtons;
if (showMyPublicationsButtons) {
let button = myPublicationsButtons.firstChild;
let hiddenItemsSelected = selectedItems.some(item => !item.inPublications);
let str, onclick;

View File

@ -604,6 +604,37 @@ describe("Zotero.ItemTreeView", function() {
assert.isNumber(iv.getRowIndexByID(item2.id));
});
it("should show Show/Hide button for imported file attachment", function* () {
var item = yield createDataObject('item', { inPublications: true });
var attachment = yield importFileAttachment('test.png', { parentItemID: item.id });
yield zp.collectionsView.selectByID("P" + item.libraryID);
yield waitForItemsLoad(win);
var iv = zp.itemsView;
yield iv.selectItem(attachment.id);
var box = win.document.getElementById('zotero-item-pane-top-buttons-my-publications');
assert.isFalse(box.hidden);
});
it("shouldn't show Show/Hide button for linked file attachment", function* () {
var item = yield createDataObject('item', { inPublications: true });
var attachment = yield Zotero.Attachments.linkFromFile({
file: OS.Path.join(getTestDataDirectory().path, 'test.png'),
parentItemID: item.id
});
yield zp.collectionsView.selectByID("P" + item.libraryID);
yield waitForItemsLoad(win);
var iv = zp.itemsView;
yield iv.selectItem(attachment.id);
var box = win.document.getElementById('zotero-item-pane-top-buttons-my-publications');
assert.isTrue(box.hidden);
});
});
})