Skip to content

Commit

Permalink
Render logic changes to file access btn and dropdown options [ref #7400]
Browse files Browse the repository at this point in the history
  • Loading branch information
mheppler committed Mar 10, 2021
1 parent 3c0140b commit 0127d5c
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 50 deletions.
3 changes: 2 additions & 1 deletion src/main/webapp/dataset.xhtml
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,9 @@
or (DatasetPage.workingVersion.deaccessioned and DatasetPage.canUpdateDataset()))}"/>
<!-- TO-DO FIX RSYNC LOGIC !fileMetadata.dataFile.filePackage or
fileMetadata.dataFile.filePackage and systemConfig.HTTPDownload -->
<!-- NOTE removed fileAccessRequest logic in order to always display the file access btn -->
<ui:param name="showAccessFileButtonGroup" value="#{fileDownloadHelper.canDownloadFile(fileMetadata)
or (!fileDownloadHelper.canDownloadFile(fileMetadata) and DatasetPage.dataset.fileAccessRequest)
or (!fileDownloadHelper.canDownloadFile(fileMetadata))
and (!DatasetPage.workingVersion.deaccessioned
or (DatasetPage.workingVersion.deaccessioned and permissionsWrapper.canIssueUpdateDatasetCommand(FilePage.fileMetadata.datasetVersion.dataset)))}"/>
<ui:param name="publishDataset" value="#{DatasetPage.publishDatasetPopup()}"/>
Expand Down
85 changes: 37 additions & 48 deletions src/main/webapp/file-download-button-fragment.xhtml
Original file line number Diff line number Diff line change
Expand Up @@ -10,31 +10,13 @@
xmlns:cc="http://java.sun.com/jsf/composite"
xmlns:o="http://omnifaces.org/ui"
xmlns:iqbs="http://xmlns.jcp.org/jsf/composite/iqbs">

<!-- Download Options -->
<li class="dropdown-header">#{bundle['file.accessBtn.header.download']} <span class="glyphicon glyphicon-download-alt"/></li>

<!-- Request Access Options -->
<ui:fragment rendered="#{!fileMetadata.datasetVersion.deaccessioned and !fileDownloadHelper.canDownloadFile(fileMetadata)
and fileMetadata.dataFile.owner.fileAccessRequest}">
<li class="dropdown-header">#{bundle['file.accessBtn.header.download']} <span class="glyphicon glyphicon-download-alt"/></li>

<style type="text/css">
div[id$="requestPanel"].iq-dropdown-list-item {display:list-item !important;}
div[id$="requestPanel"].iq-dropdown-list-item>a.ui-commandlink{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}
div[id$="requestPanel"].iq-dropdown-list-item>a.ui-commandlink:focus,
div[id$="requestPanel"].iq-dropdown-list-item>a.ui-commandlink:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}
div[id$="requestPanel"].iq-dropdown-list-item>a.ui-commandlink.active,
div[id$="requestPanel"].iq-dropdown-list-item>a.ui-commandlink.active:focus,
div[id$="requestPanel"].iq-dropdown-list-item>a.ui-commandlink.active:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}

div[id$="requestPanel"].iq-dropdown-list-item.disabled>span.ui-commandlink.ui-state-disabled{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap}
div[id$="requestPanel"].iq-dropdown-list-item.disabled>span.ui-commandlink.ui-state-disabled,
div[id$="requestPanel"].iq-dropdown-list-item.disabled>span.ui-commandlink.ui-state-disabled:focus,
div[id$="requestPanel"].iq-dropdown-list-item.disabled>span.ui-commandlink.ui-state-disabled:hover{background-color:transparent;color:#777;}
div[id$="requestPanel"].iq-dropdown-list-item.disabled>span.ui-commandlink.ui-state-disabled:focus,
div[id$="requestPanel"].iq-dropdown-list-item.disabled>span.ui-commandlink.ui-state-disabled:hover{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}
div[id$="requestPanel"].iq-dropdown-list-item.disabled{cursor:not-allowed;}
div[id$="requestPanel"].iq-dropdown-list-item.disabled>span.ui-commandlink.ui-state-disabled{pointer-events:none;}
</style>

<p:outputPanel id="requestPanel" styleClass="iq-dropdown-list-item #{fileMetadata.dataFile.fileAccessRequesters.contains(dataverseSession.user) ? 'disabled' : ''}"
rendered="#{fileDownloadHelper.session.user.authenticated}">
<p:commandLink styleClass="btn-request"
Expand All @@ -54,11 +36,14 @@
</p:commandLink>
</li>
</ui:fragment>
<ui:fragment rendered="#{!fileMetadata.datasetVersion.deaccessioned and !fileDownloadHelper.canDownloadFile(fileMetadata)
and !fileMetadata.dataFile.owner.fileAccessRequest}">
<li class="disabled"><a href="#"><em>Users may not request access to files.</em></a></li>
</ui:fragment>
<!-- END: Request Access Options -->

<!-- Download Options -->
<!-- CAN DOWNLOAD ACCESS Options -->
<ui:fragment rendered="#{fileDownloadHelper.canDownloadFile(fileMetadata)}">
<li class="dropdown-header">#{bundle['file.accessBtn.header.download']} <span class="glyphicon glyphicon-download-alt"/></li>
<!-- NON-TABULAR + PACKAGE DOWNLOAD OPTIONS -->
<li jsf:rendered="#{!fileMetadata.dataFile.tabularData}">
<p:commandLink rendered="#{!(fileMetadata.dataFile.tabularData) and !(downloadPopupRequired)
Expand Down Expand Up @@ -193,55 +178,59 @@
#{bundle['file.downloadBtn.format.var']}
</p:commandLink>
</li>
<li class="dropdown-submenu pull-left">
<a tabindex="-1" href="javascript:void(0);">#{bundle['file.downloadBtn.format.citation']}</a>
<ul class="dropdown-menu">
<li>
<h:commandLink styleClass="btn-download" actionListener="#{fileDownloadService.downloadDatafileCitationRIS(fileMetadata)}">
<h:outputText value="#{bundle['dataset.cite.downloadBtn.ris']}" />
</h:commandLink>
</li>
<li>
<h:commandLink styleClass="btn-download" action="#{fileDownloadService.downloadDatafileCitationXML(fileMetadata)}">
<h:outputText value="#{bundle['dataset.cite.downloadBtn.xml']}" />
</h:commandLink>
</li>
<li>
<h:commandLink styleClass="btn-download" action="#{fileDownloadService.downloadDatafileCitationBibtex(fileMetadata)}">
<h:outputText value="#{bundle['dataset.cite.downloadBtn.bib']}" />
</h:commandLink>
</li>
</ul>
</li>
</ui:fragment>
<!-- END: TABULAR DOWNLOAD OPTIONS -->

</ui:fragment>
<!-- END: CAN DOWNLOAD ACCESS Options -->

<!-- CITATION FILES DOWNLOAD OPTIONS -->
<ui:fragment rendered="#{true}">
<li class="dropdown-submenu pull-left">
<a tabindex="-1" href="javascript:void(0);">#{bundle['file.downloadBtn.format.citation']}</a>
<ul class="dropdown-menu">
<li>
<h:commandLink styleClass="btn-download" action="#{fileDownloadService.downloadDatafileCitationXML(fileMetadata)}">
<h:outputText value="#{bundle['dataset.cite.downloadBtn.xml']}" />
</h:commandLink>
</li>
<li>
<h:commandLink styleClass="btn-download" actionListener="#{fileDownloadService.downloadDatafileCitationRIS(fileMetadata)}">
<h:outputText value="#{bundle['dataset.cite.downloadBtn.ris']}" />
</h:commandLink>
</li>
<li>
<h:commandLink styleClass="btn-download" action="#{fileDownloadService.downloadDatafileCitationBibtex(fileMetadata)}">
<h:outputText value="#{bundle['dataset.cite.downloadBtn.bib']}" />
</h:commandLink>
</li>
</ul>
</li>
<!-- UI HACK FIX SUBMENU PULL-FLOAT FIX -->
<li role="presentation" class="clearfix"></li>
</ui:fragment>
<!-- END: Download Options -->
<!-- CITATION FILES DOWNLOAD OPTIONS -->

<!-- AUX FILES DOWNLOAD OPTIONS -->
<ui:fragment rendered="#{not empty auxiliaryFileServiceBean.findAuxiliaryFiles(fileMetadata.dataFile)}">
<li class="dropdown-submenu pull-left">
<!--FIXME: Move "Differentially Private Statistics" to bundle and should it be "Auxiliary Files" sometimes? When?-->
<!--FIXME: Should be ui:repeat to display multiple types of aux files from multiple types of tools-->
<a tabindex="-1" href="javascript:void(0);">Differentially Private Statistics</a>
<ul class="dropdown-menu">
<ui:repeat var="auxFile" value="#{auxiliaryFileServiceBean.findAuxiliaryFiles(fileMetadata.dataFile)}">
<li>
<p:commandLink styleClass="btn-download" action="#{fileDownloadService.redirectToAuxFileDownloadAPI(fileMetadata.dataFile.id, auxFile.formatTag, auxFile.formatVersion)}">
<h:outputText value="#{auxFile.formatTag}"/>
<h:outputText value=" (#{auxFile.formatVersion})"/>
<h:outputText value="#{auxFile.formatTag} (#{auxFile.formatVersion})"/>
</p:commandLink>
</li>
</ui:repeat>
</ul>
</li>

<!-- UI HACK FIX SUBMENU PULL-FLOAT FIX -->
<li role="presentation" class="clearfix"></li>
</ui:fragment>
<!-- END: AUX FILES DOWNLOAD OPTIONS -->
<!-- END: Download Options -->

<!-- Explore Options -->
<ui:fragment rendered="#{fileDownloadHelper.canDownloadFile(fileMetadata) and not empty exploreTools}">
Expand Down
3 changes: 2 additions & 1 deletion src/main/webapp/file.xhtml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@
<ui:param name="pageTitle" value="#{FilePage.fileMetadata.dataFile.displayName} - #{FilePage.file.owner.owner.displayName}"/>
<ui:param name="dataverse" value="#{FilePage.file.owner.owner}"/>
<ui:param name="showMessagePanel" value="#{true}"/>
<!-- NOTE removed fileAccessRequest logic in order to always display the file access btn -->
<ui:param name="showAccessFileButtonGroup" value="#{fileDownloadHelper.canDownloadFile(FilePage.fileMetadata)
or (!fileDownloadHelper.canDownloadFile(FilePage.fileMetadata) and FilePage.fileMetadata.dataFile.owner.fileAccessRequest)
or (!fileDownloadHelper.canDownloadFile(FilePage.fileMetadata))
and (!FilePage.fileMetadata.datasetVersion.deaccessioned
or (FilePage.fileMetadata.datasetVersion.deaccessioned and permissionsWrapper.canIssueUpdateDatasetCommand(FilePage.fileMetadata.datasetVersion.dataset)))}"/>
<ui:define name="meta_header">
Expand Down
17 changes: 17 additions & 0 deletions src/main/webapp/resources/css/structure.css
Original file line number Diff line number Diff line change
Expand Up @@ -735,6 +735,23 @@ div[id$="filesTable"] thead[id$="filesTable_head"] th.ui-selection-column .ui-ch
word-break: break-word;
}

/* REQUEST ACCESS DOWNLOAD OPTION LINK */
div[id$="requestPanel"].iq-dropdown-list-item {display:list-item !important;}
div[id$="requestPanel"].iq-dropdown-list-item>a.ui-commandlink{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}
div[id$="requestPanel"].iq-dropdown-list-item>a.ui-commandlink:focus,
div[id$="requestPanel"].iq-dropdown-list-item>a.ui-commandlink:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}
div[id$="requestPanel"].iq-dropdown-list-item>a.ui-commandlink.active,
div[id$="requestPanel"].iq-dropdown-list-item>a.ui-commandlink.active:focus,
div[id$="requestPanel"].iq-dropdown-list-item>a.ui-commandlink.active:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}
div[id$="requestPanel"].iq-dropdown-list-item.disabled>span.ui-commandlink.ui-state-disabled{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap}
div[id$="requestPanel"].iq-dropdown-list-item.disabled>span.ui-commandlink.ui-state-disabled,
div[id$="requestPanel"].iq-dropdown-list-item.disabled>span.ui-commandlink.ui-state-disabled:focus,
div[id$="requestPanel"].iq-dropdown-list-item.disabled>span.ui-commandlink.ui-state-disabled:hover{background-color:transparent;color:#777;}
div[id$="requestPanel"].iq-dropdown-list-item.disabled>span.ui-commandlink.ui-state-disabled:focus,
div[id$="requestPanel"].iq-dropdown-list-item.disabled>span.ui-commandlink.ui-state-disabled:hover{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}
div[id$="requestPanel"].iq-dropdown-list-item.disabled{cursor:not-allowed;}
div[id$="requestPanel"].iq-dropdown-list-item.disabled>span.ui-commandlink.ui-state-disabled{pointer-events:none;}

/* PAGINATION */
div[id$="filesTable"] .ui-paginator {
font-weight: normal;
Expand Down

0 comments on commit 0127d5c

Please sign in to comment.