Mercurial > hg > LGDataverses
view src/main/webapp/dataverse.xhtml @ 10:a50cf11e5178
Rewrite LGDataverse completely upgrading to dataverse4.0
| author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
|---|---|
| date | Tue, 08 Sep 2015 17:00:21 +0200 |
| parents | |
| children |
line wrap: on
line source
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui" xmlns:o="http://omnifaces.org/ui" xmlns:jsf="http://xmlns.jcp.org/jsf"> <h:head> </h:head> <h:body> <ui:composition template="/dataverse_template.xhtml"> <ui:param name="pageTitle" value="#{empty DataversePage.dataverse.name ? bundle.new : DataversePage.dataverse.name} #{bundle.dataverse}"/> <ui:param name="dataverse" value="#{DataversePage.dataverse}"/> <ui:define name="body"> <f:metadata> <f:viewParam name="id" value="#{DataversePage.dataverse.id}"/> <f:viewParam name="alias" value="#{DataversePage.dataverse.alias}"/> <f:viewParam name="ownerId" value="#{DataversePage.ownerId}"/> <f:viewParam name="editMode" value="#{DataversePage.editMode}"/> <f:viewAction action="#{DataversePage.init}"/> <f:viewAction action="#{dataverseHeaderFragment.initBreadcrumbs(DataversePage.dataverse)}"/> <f:viewParam name="alias" value="#{SearchIncludeFragment.dataverseAlias}"/> <f:viewParam name="q" value="#{SearchIncludeFragment.query}"/> <f:viewParam name="types" value="#{SearchIncludeFragment.selectedTypesString}"/> <f:viewParam name="fq1" value="#{SearchIncludeFragment.fq1}"/> <f:viewParam name="fq0" value="#{SearchIncludeFragment.fq0}"/> <f:viewParam name="fq2" value="#{SearchIncludeFragment.fq2}"/> <f:viewParam name="fq3" value="#{SearchIncludeFragment.fq3}"/> <f:viewParam name="fq4" value="#{SearchIncludeFragment.fq4}"/> <f:viewParam name="fq5" value="#{SearchIncludeFragment.fq5}"/> <f:viewParam name="fq6" value="#{SearchIncludeFragment.fq6}"/> <f:viewParam name="fq7" value="#{SearchIncludeFragment.fq7}"/> <f:viewParam name="fq8" value="#{SearchIncludeFragment.fq8}"/> <f:viewParam name="fq9" value="#{SearchIncludeFragment.fq9}"/> <f:viewParam name="sort" value="#{SearchIncludeFragment.sortField}"/> <f:viewParam name="order" value="#{SearchIncludeFragment.sortOrder}"/> <f:viewParam name="page" value="#{SearchIncludeFragment.page}"/> <f:viewParam name="debug" value="#{SearchIncludeFragment.debug}"/> <f:viewAction action="#{SearchIncludeFragment.search()}" /> </f:metadata> <h:form id="dataverseForm"> <!-- Edit Mode --> <ui:fragment rendered="#{DataversePage.editMode == 'INFO'}"> <p:focus context="dataverseForm"/> <!-- Sample Block --> <!-- Name Panel --> <!-- Edit Info Panel --> <div class="row"> <div class="col-xs-6 form-group form-col-container"> <label class="col-sm-3 control-label" for="name"> <span data-toggle="tooltip" data-placement="auto right" class="tooltiplabel text-info" data-original-title="#{bundle['dataverse.title']}"> #{bundle.dataverse} <span class="glyphicon glyphicon-asterisk text-danger" title="#{bundle.requiredField}"/> </span> </label> <div class="col-sm-9 form-col-container"> <div class="input-group"> <p:inputText id="name" tabindex="1" styleClass="form-control" value="#{DataversePage.dataverse.name}"/> <div class="input-group-addon">#{bundle.dataverse}</div> </div> <p:watermark for="name" value="#{bundle['dataverse.enterName']}"/> </div> </div> <div class="col-xs-6 form-group form-col-container"> <label class="col-sm-3 control-label" for="affiliation"> <span data-toggle="tooltip" data-placement="auto right" class="tooltiplabel text-info" data-original-title="#{bundle['dataverse.affiliation.title']}"> #{bundle.affiliation} </span> </label> <div class="col-sm-9 form-col-container"> <p:inputText id="affiliation" tabindex="2" styleClass="form-control" value="#{DataversePage.dataverse.affiliation}"/> <p:message for="affiliation" display="text"/> </div> </div> </div> <div class="row"> <div class="col-xs-6 form-group form-col-container"> <label class="col-sm-3 control-label" for="identifier"> <span data-toggle="tooltip" data-placement="auto right" class="tooltiplabel text-info" data-original-title="#{bundle['dataverse.identifier.title']}"> #{bundle.identifier} <span class="glyphicon glyphicon-asterisk text-danger" title="#{bundle.requiredField}"/> </span> </label> <div class="col-sm-9 form-col-container"> <div class="input-group"> <div class="input-group-addon"><span class="small">#{systemConfig.dataverseSiteUrl}/dataverse/</span></div> <p:inputText id="identifier" tabindex="3" styleClass="form-control" validator="#{DataversePage.validateAlias}" value="#{DataversePage.dataverse.alias}"/> </div> <p:message for="identifier" display="text"/> </div> </div> <div class="col-xs-6 form-group" jsf:rendered="#{DataversePage.ownerId != null}"> <label class="col-sm-3 control-label" for="hostDataverse"> <span data-toggle="tooltip" data-placement="auto right" class="tooltiplabel text-info" data-original-title="#{bundle['dataverse.host.title']}"> #{bundle.hostDataverse} </span> </label> <div class="col-sm-9 form-col-container"> <p class="form-control-static">#{DataversePage.dataverse.getOwner().name}</p> <h:inputHidden value="#{DataversePage.ownerId}" id="hostDataverse" /> <ui:remove><!-- removed for beta --> <p:selectOneMenu id="hostDataverse" tabindex="2" value="#{DataversePage.ownerId}" filter="true" filterMatchMode="startsWith" effect="none"> <f:selectItems value="#{dataverseServiceBean.findAll()}" var="dv" itemLabel="#{dv.name}" itemValue="#{dv.id}" itemDisabled="#{dv eq DataversePage.dataverse or dv.owners.contains(DataversePage.dataverse)}" /> </p:selectOneMenu> </ui:remove> </div> </div> </div> <div class="row"> <div class="col-xs-6 form-group form-col-container"> <div class="form-group clearfix"> <label class="col-sm-3 control-label" for="dataverseCategory"> <span data-toggle="tooltip" data-placement="auto right" class="tooltiplabel text-info" data-original-title="#{bundle['dataverse.category.title']}"> #{bundle['dataverse.category']} <span class="glyphicon glyphicon-asterisk text-danger" title="#{bundle.requiredField}"/> </span> </label> <div class="col-sm-9 form-col-container"> <h:selectOneMenu id="dataverseCategory" tabindex="5" styleClass="form-control" value="#{DataversePage.dataverse.dataverseType}"> <f:selectItem id="dvSelect" itemLabel="#{bundle['dataverse.type.selectTab.top']}" itemValue="" /> <f:selectItem id="dvResearch" itemLabel="#{bundle['dataverse.type.selectTab.researchers']}" itemValue="RESEARCHERS" /> <f:selectItem id="dvResearchProj" itemLabel="#{bundle['dataverse.type.selectTab.researchProjects']}" itemValue="RESEARCH_PROJECTS" /> <f:selectItem id="dvJournals" itemLabel="#{bundle['dataverse.type.selectTab.journals']}" itemValue="JOURNALS" /> <f:selectItem id="dvOrgInst" itemLabel="#{bundle['dataverse.type.selectTab.organizationsAndInsitutions']}" itemValue="ORGANIZATIONS_INSTITUTIONS" /> <f:selectItem id="dvTeaching" itemLabel="#{bundle['dataverse.type.selectTab.teachingCourses']}" itemValue="TEACHING_COURSES" /> <f:selectItem id="dvUncategorized" itemLabel="#{bundle['dataverse.type.selectTab.uncategorized']}" itemValue="UNCATEGORIZED" /> </h:selectOneMenu> <p:message for="dataverseCategory" display="text"/> </div> </div> <div class="form-group clearfix"> <p:fragment autoUpdate="true"> <label class="col-sm-3 control-label" for="contactEmail"> <span data-toggle="tooltip" data-placement="auto right" class="tooltiplabel text-info" data-original-title="#{bundle['dataverse.email.title']}"> #{bundle['dataverse.email']} <span class="glyphicon glyphicon-asterisk text-danger" title="#{bundle.requiredField}"/> </span> </label> <div class="col-sm-9 form-col-container edit-compound-field"> <ui:repeat value="#{DataversePage.dataverse.dataverseContacts}" var="contacts" varStatus="valCount"> <div class="form-group"> <div class="col-sm-8 form-col-container"> <p:inputText id="contactEmail" tabindex="7" styleClass="form-control" value="#{contacts.contactEmail}"> <f:validateBean disabled="#{param['SKIP_VALIDATION']}"/> </p:inputText> <p:message for="contactEmail" display="text"/> </div> <!-- Add / Remove buttons --> <div class="col-sm-4 form-col-container field-add-delete"> <p:commandLink styleClass="btn btn-default btn-sm bootstrap-button-tooltip" title="#{bundle.add}" actionListener="#{DataversePage.dataverse.addDataverseContact(valCount.index + 1)}" oncomplete="javascript:bind_bsui_components();"> <f:param name="SKIP_VALIDATION" value="true"/> <h:outputText styleClass="glyphicon glyphicon-plus no-text"/> </p:commandLink> <p:commandLink styleClass="btn btn-default btn-sm bootstrap-button-tooltip" title="#{bundle.delete}" rendered="#{DataversePage.dataverse.dataverseContacts.size() > 1}" actionListener="#{DataversePage.dataverse.removeDataverseContact(valCount.index)}" oncomplete="javascript:bind_bsui_components();"> <f:param name="SKIP_VALIDATION" value="true"/> <h:outputText styleClass="glyphicon glyphicon-minus no-text"/> </p:commandLink> </div> </div> </ui:repeat> </div> </p:fragment> </div> </div> <div class="col-xs-6 form-group form-col-container"> <label class="col-sm-3 control-label" for="description"> <span data-toggle="tooltip" data-placement="auto right" class="tooltiplabel text-info" data-original-title="#{bundle['dataverse.description.title']}"> #{bundle.description} </span> </label> <div class="col-sm-9 form-col-container"> <p class="help-block"> <span class="glyphicon glyphicon-info-sign"/> <h:outputFormat value=" #{bundle.htmlAllowedMsg}" escape="false"> <f:param value="#{bundle.htmlAllowedTags}"/> </h:outputFormat> </p> <p:inputTextarea id="description" tabindex="6" styleClass="form-control" value="#{DataversePage.dataverse.description}" rows="6" cols="50" autoResize="false"> </p:inputTextarea> <p:message for="description" display="text"/> </div> </div> </div> <hr class="margin-top-half margin-bottom-half"/> <!-- Metadata Panel --> <p:panel styleClass="panelLayoutBlock" widgetVar="optionBlock"> <p:commandButton id="hiddenRefresh" value="back" style="display:none" actionListener="#{DataversePage.refresh}" update="@widgetVar(optionBlock)" /> <div class="row"> <div class="col-sm-12 form-group"> <label class="col-sm-3 control-label" for="mdbSelect">#{bundle['dataverse.metadataElements']}</label> <div class="col-sm-9"> <p class="help-block"><span class="glyphicon glyphicon-info-sign"/> #{bundle['dataverse.metadataElements.tip']}</p> <label class="metadata-blocks-default" for="metadataRoot" jsf:rendered="#{DataversePage.dataverse.owner != null}"> <h:selectBooleanCheckbox id="metadataRoot" tabindex="7" styleClass="metadata-blocks-default" value="#{DataversePage.inheritMetadataBlockFromParent}" onclick="updateMetadata(this);"> </h:selectBooleanCheckbox> <h:outputFormat value="#{bundle['dataverse.metadataElements.from.tip']}"> <f:param value="#{DataversePage.dataverse.metadataRootDataverseName}"/> </h:outputFormat> </label> <p:commandButton value="Direct" id="updateMetadataButton" style="display:none" update="@widgetVar(optionBlock)" process="@this @widgetVar(optionBlock)" actionListener="#{DataversePage.editMetadataBlocks(false)}"> </p:commandButton> <p:commandButton value="Direct" id="resetToInherit" style="display:none" update="@widgetVar(optionBlock)" process="@this @widgetVar(optionBlock)" actionListener="#{DataversePage.editMetadataBlocks(true)}"> </p:commandButton> <ui:repeat value="#{DataversePage.allMetadataBlocks}" var="mdb"> <div class="checkbox"> <label for="#{mdb.idString}"> <input type="checkbox" jsf:itemValue="#{mdb}" id="#{mdb.idString}" jsf:value="#{mdb.selected}" name="mdbSelectRequired" disabled="disabled" checked="checked" jsf:rendered="#{mdb.required and !DataversePage.inheritMetadataBlockFromParent}" /> <input type="checkbox" jsf:itemValue="#{mdb}" id="#{mdb.idString}" jsf:value="#{mdb.selected}" name="mdbSelectRequiredInherited" disabled="disabled" jsf:rendered="#{DataversePage.inheritMetadataBlockFromParent}"> <p:ajax update="@widgetVar(optionBlock)" /> </input> <input type="checkbox" jsf:itemValue="#{mdb}" id="#{mdb.idString}" jsf:value="#{mdb.selected}" name="mdbSelectOptional" jsf:rendered="#{!mdb.required and !DataversePage.inheritMetadataBlockFromParent}"> <p:ajax update="@widgetVar(optionBlock)" /> </input> <h:outputText value="#{mdb.displayName} #{mdb.required ? bundle['dataverse.field.required']: ''}" styleClass="#{DataversePage.inheritMetadataBlockFromParent ? 'text-muted' : ''}"/> <p:commandLink id="showDSFT" style="margin-left:1em;" update="@widgetVar(optionBlock)" process="@this" rendered="#{!mdb.showDatasetFieldTypes and (mdb.selected or mdb.required) and !DataversePage.openMetadataBlock and !DataversePage.inheritMetadataBlockFromParent}" actionListener="#{DataversePage.showDatasetFieldTypes(mdb.id)}"> <h:outputText value="#{bundle['dataverse.field.set.tip']}" /> </p:commandLink> <p:commandLink id="viewDSFT" style="margin-left:1em;" update="@widgetVar(optionBlock)" process="@this" rendered="#{!mdb.showDatasetFieldTypes and (!mdb.selected or DataversePage.inheritMetadataBlockFromParent) and !DataversePage.openMetadataBlock}" actionListener="#{DataversePage.showDatasetFieldTypes(mdb.id, false)}"> <h:outputText value="#{bundle['dataverse.field.set.view']}" /> </p:commandLink> </label> </div> <div id="metadataFieldOptionsPanel-Block" jsf:rendered="#{mdb.showDatasetFieldTypes}"> <div class="panel panel-default"> <div id="metadataFieldOptionsPanel-Body" class="panel-body"> <table id="metadataFieldOptions" class="table table-striped"> <tbody> <ui:repeat value="#{mdb.datasetFieldTypes}" var="dsft"> <tr> <td> <p:selectBooleanCheckbox rendered="#{!dsft.hasParent}" value="#{dsft.include}" itemLabel="#{dsft.displayName}" onchange="#{DataversePage.updateInclude(mdb.id, dsft.id)}" disabled="#{(!dsft.hasParent and (dsft.hasRequiredChildren or dsft.required)) or DataversePage.editInputLevel == false }"> <p:ajax update="@widgetVar(OptButton#{dsft.id}), @widgetVar(optionBlock)" /> </p:selectBooleanCheckbox> <div class="checkbox child-field" jsf:rendered="#{dsft.hasParent}"> <label> <h:outputText value="#{dsft.displayName}"/> </label> </div> </td> <td> <p:selectOneRadio id="OptionsRadio#{dsft.id}" value="#{dsft.requiredDV}" widgetVar="OptButton#{dsft.id}" disabled ="#{DataversePage.editInputLevel == false}" rendered="#{!dsft.hasChildren and !((!dsft.hasChildren and dsft.required) or (dsft.hasChildren and dsft.hasRequiredChildren))}"> <f:selectItems value="#{dsft.optionSelectItems}"/> <p:ajax update="@widgetVar(OptButton#{dsft.id})"/> </p:selectOneRadio> <span class="text-muted" jsf:rendered="#{(!dsft.hasChildren and dsft.required) or (dsft.hasChildren and dsft.hasRequiredChildren)}"> #{bundle['dataverse.field.requiredByDataverse']} </span> </td> </tr> </ui:repeat> </tbody> </table> </div> </div> <p:commandLink id="hideDSFT" styleClass="btn btn-default" actionListener="#{DataversePage.hideDatasetFieldTypes(mdb.id)}" rendered="#{mdb.showDatasetFieldTypes}"> <h:outputText value="#{bundle.done}" /> <p:ajax update="@widgetVar(optionBlock)" listener="#{DataversePage.hideDatasetFieldTypes(mdb.id)}" /> </p:commandLink> </div> </ui:repeat> </div> </div> </div> </p:panel> <!-- Facets Panel --> <p:panel id="editFacets" styleClass="panelLayoutBlock" widgetVar="editFacets"> <div class="row"> <div class="col-sm-12 form-group"> <label class="col-sm-3 control-label" for="facetPickListCreate">#{bundle['dataverse.facetPickList.text']}</label> <div class="col-sm-9"> <p class="help-block"><span class="glyphicon glyphicon-info-sign"/> #{bundle['dataverse.facetPickList.tip']}</p> <label class="metadata-blocks-default" for="facetsRoot" jsf:rendered="#{DataversePage.dataverse.owner != null}"> <h:selectBooleanCheckbox id="facetsRoot" tabindex="8" styleClass="facets-blocks-default" value="#{DataversePage.inheritFacetFromParent}"> <p:ajax update="editFacets" listener="#{DataversePage.toggleFacetRoot}"/> </h:selectBooleanCheckbox> <h:outputFormat value="#{bundle['dataverse.facetPickList.facetsFromHost.text']}"> <f:param value="#{DataversePage.dataverse.facetRootDataverseName}"/> </h:outputFormat> </label> <p:pickList id="facetPickListCreate" value="#{DataversePage.facets}" var="facet" converter="facetConverter" itemLabel="#{facet.displayName}" itemValue="#{facet}" disabled="#{!DataversePage.dataverse.facetRoot and DataversePage.dataverse.owner != null}" style="margin-top:1em;"> <f:facet name="sourceCaption"> <p:selectOneMenu styleClass="facet-category-default" disabled="#{!DataversePage.dataverse.facetRoot and DataversePage.dataverse.owner != null}" value="#{DataversePage.facetMetadataBlockId}"> <f:selectItem itemLabel="#{bundle['dataverse.facetPickList.metadataBlockList.all']}" itemValue=""/> <f:selectItems value="#{DataversePage.allMetadataBlocks}" var="mdb" itemLabel="#{mdb.displayName}" itemValue="#{mdb.id}" /> <p:ajax process="editFacets" update="editFacets" listener="#{DataversePage.changeFacetsMetadataBlock}"/> </p:selectOneMenu> </f:facet> <f:facet name="targetCaption">Selected</f:facet> <p:ajax event="transfer" listener="#{DataversePage.onFacetTransfer}" update="editFacets" /> </p:pickList> </div> </div> </div> </p:panel> </ui:fragment> <!-- END Edit Mode --> <!-- View Mode / Description Panel --> <ui:fragment rendered="#{empty DataversePage.editMode}"> <div id="actionButtonBlock" class="button-block clearfix"> <!-- Edit/Publish Button Group --> <ui:fragment rendered="#{dataverseSession.user.authenticated and (permissionsWrapper.canIssueUpdateDataverseCommand(DataversePage.dataverse) or permissionsWrapper.canIssuePublishDataverseCommand(DataversePage.dataverse))}"> <!-- Edit Button --> <div class="btn-group pull-right" jsf:rendered="#{permissionsWrapper.canIssueUpdateDataverseCommand(DataversePage.dataverse)}"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> <span class="glyphicon glyphicon-pencil"/> #{bundle['dataverse.edit']} <span class="caret"></span> </button> <ul class="dropdown-menu pull-right text-left" role="menu"> <li> <div id="dataverse-info-dropdown"> <div class="dataverse-info-logo-icon"> <i class="icon-dataverse text-brand"></i> </div> <div class="dataverse-info-general"> <div><h:outputText value="#{DataversePage.dataverse.name} #{bundle.dataverse}" styleClass="highlightBold"/> <h:outputText value=" (#{DataversePage.dataverse.affiliation})" styleClass="text-muted" rendered="#{!empty DataversePage.dataverse.affiliation}"/></div> <div class="text-muted">#{DataversePage.dataverse.alias}</div> </div> </div> </li> <li class="divider" role="presentation"></li> <li> <p:commandLink id="editInfo" actionListener="#{DataversePage.edit('INFO')}" update="@form" oncomplete="javascript:post_edit_dv_general_info();initPopover();"> <h:outputText value="#{bundle['dataverse.option.generalInfo']}" /> </p:commandLink> </li> <li> <h:link outcome="ThemeAndWidgets" id="themeWidgetsOpts" > <f:param name="id" value="#{DataversePage.dataverse.id}" /> <h:outputText value="#{bundle['dataverse.option.themeAndWidgets']}" /> </h:link> </li> <ui:fragment rendered="#{permissionsWrapper.canManagePermissions(DataversePage.dataverse)}"> <li> <h:link id="managePermissions" styleClass="ui-commandlink ui-widget" outcome="permissions-manage"> <h:outputText value="#{bundle['dataverse.option.permissions']}" /> <f:param name="id" value="#{DataversePage.dataverse.id}" /> </h:link> </li> </ui:fragment> <li> <h:link id="manageTemplates" styleClass="ui-commandlink ui-widget" outcome="manage-templates"> <h:outputText value="#{bundle['dataverse.option.datasetTemplates']}" /> <f:param name="dataverseId" value="#{DataversePage.dataverse.id}" /> </h:link> </li> <li> <h:link id="manageGuestbooks" styleClass="ui-commandlink ui-widget" outcome="manage-guestbooks"> <h:outputText value="#{bundle['dataverse.option.datasetGuestbooks']}" /> <f:param name="dataverseId" value="#{DataversePage.dataverse.id}" /> </h:link> </li> <li> <p:commandLink id="browseOpts" actionListener="#{DataversePage.edit('FEATURED')}" oncomplete="browseOptsForm.show()" update="dataverseForm:browseOptsForm"> <h:outputText value="#{bundle['dataverse.option.featuredDataverse']}" /> </p:commandLink> </li> <ui:fragment rendered="#{DataversePage.isEmptyDataverse() and !(DataversePage.dataverse.owner == null) and permissionsWrapper.canIssueDeleteDataverseCommand(DataversePage.dataverse)}"> <li class="divider"></li> <li> <p:commandLink id="deleteDataset" onclick="deleteConfirmation.show()"> <h:outputText value="#{bundle['dataverse.option.deleteDataverse']}" /> </p:commandLink> </li> </ui:fragment> </ul> </div> <!-- END: Edit Button --> <!-- Publish Button --> <ui:fragment rendered="#{permissionsWrapper.canIssuePublishDataverseCommand(DataversePage.dataverse)}"> <button type="button" class="btn btn-default pull-right" onclick="confirmation.show()" jsf:rendered="#{!DataversePage.dataverse.released and (empty DataversePage.dataverse.owner or DataversePage.dataverse.owner.released)}"> <span class="glyphicon glyphicon-globe"/> #{bundle['dataverse.publish.btn']} </button> <button type="button" class="btn btn-default pull-right" onclick="mayNotRelease.show()" jsf:rendered="#{!DataversePage.dataverse.released and (!empty DataversePage.dataverse.owner and !DataversePage.dataverse.owner.released)}"> <span class="glyphicon glyphicon-globe"/> #{bundle['dataverse.publish.btn']} </button> </ui:fragment> <!-- END: Publish Button --> </ui:fragment> <!-- END: Edit/Publish Button Group --> <!-- Email/Link/Share Button Group --> <div class="btn-group pull-right" role="group"> <p:commandLink type="button" styleClass="btn btn-default bootstrap-button-tooltip" title="#{bundle['dataverse.contact']}" update=":contactDialog" oncomplete="contactForm.show()" actionListener="#{sendFeedbackDialog.initUserInput}"> <f:setPropertyActionListener target="#{sendFeedbackDialog.userMessage}" value=""/> <f:setPropertyActionListener target="#{sendFeedbackDialog.userEmail}" value=""/> <f:setPropertyActionListener target="#{sendFeedbackDialog.messageSubject}" value=""/> <f:param name="DO_VALIDATION" value="false"/> <f:setPropertyActionListener target="#{sendFeedbackDialog.recipient}" value="#{DataversePage.dataverse}"/> <span class="glyphicon glyphicon-envelope no-text"/> </p:commandLink> <div class="btn-group" jsf:rendered="#{dataverseSession.user.superuser and (SearchIncludeFragment.mode == 'search' or DataversePage.dataverse.owner != null)}"> <button type="button" class="btn btn-default dropdown-toggle bootstrap-button-tooltip" data-toggle="dropdown" aria-expanded="false" title="#{bundle['dataverse.link.btn.tip']}"> <span class="glyphicon glyphicon-link no-text"/> <span class="caret"></span> </button> <ul class="dropdown-menu pull-right text-left" role="menu"> <li class="#{DataversePage.dataverse.owner != null ? '' : 'disabled'}"> <p:commandLink action="#{DataversePage.setupLinkingPopup('link')}" oncomplete="PF('linkDataverseForm').show()" update=":linkDataverseForm" disabled="#{DataversePage.dataverse.owner == null}"> #{bundle['dataverse.link']} </p:commandLink> </li> <li class="#{SearchIncludeFragment.mode == 'search' ? '' : 'disabled'}"> <p:commandLink action="#{DataversePage.setupLinkingPopup('savedSearch')}" oncomplete="PF('linkDataverseForm').show()" update=":linkDataverseForm" disabled="#{SearchIncludeFragment.mode != 'search'}"> #{bundle['dataverse.savedsearch.link']} </p:commandLink> </li> </ul> </div> <p:commandLink type="button" styleClass="btn btn-default bootstrap-button-tooltip" title="#{bundle['dataverse.share.dataverseShare']}" oncomplete="shareDialog.show();sharrre();"> <span class="glyphicon glyphicon-share no-text"/> </p:commandLink> </div> <p:dialog id="shareDialog" header="#{bundle['dataverse.share.dataverseShare']}" widgetVar="shareDialog" modal="true"> <p class="help-block"><span class="glyphicon glyphicon-info-sign"/> #{bundle['dataverse.share.dataverseShare.tip']}</p> <div id="sharrre-widget" data-url="#{systemConfig.dataverseSiteUrl}/dataverse.xhtml?alias=#{DataversePage.dataverse.alias}" data-text="#{bundle['dataverse.share.dataverseShare.shareText']}"></div> <div class="button-block"> <button type="button" onclick="shareDialog.hide()" class="btn btn-default" value="#{bundle.close}"> #{bundle.close} </button> </div> </p:dialog> <!-- END: Email/Link/Share Button Group --> <!-- Metrics for Root Dataverse --> <div id="metrics-block" class="pull-left" jsf:rendered="#{ DataversePage.isRootDataverse() }"> <div class="pull-left text-center" id="metrics-label"> <span class="metrics-label-text small"><span class="glyphicon glyphicon-stats"/> #{bundle['metrics.title']}</span> </div> <div class="pull-left"> <div id="metrics-content" class="tab-content"> <div id="metrics-views" class="metrics-views tab-pane fade small text-center"> #{bundle['metrics.views']} <em>#{bundle['metrics.comingsoon']}</em> </div> <div id="metrics-downloads" class="metrics-downloads tab-pane fade small text-center"> <h:outputFormat value="{0} #{bundle['metrics.downloads']}"> <f:param value="#{guestbookResponseServiceBean.getCountOfAllGuestbookResponses()}"/> </h:outputFormat> </div> <div id="metrics-citations" class="metrics-citations tab-pane fade small text-center"> #{bundle['metrics.citations']} <em>#{bundle['metrics.comingsoon']}</em> </div> <div id="metrics-shares" class="metrics-shares tab-pane fade small text-center"> #{bundle['metrics.shares']} <em>#{bundle['metrics.comingsoon']}</em> </div> </div> <div id="metrics-tabs"> <div class="metrics-hover pull-left"> <a href="#metrics-views" class="metrics-views" data-toggle="tab"> </a> </div> <div class="metrics-hover pull-left"> <a href="#metrics-downloads" class="metrics-downloads first" data-toggle="tab"> </a> </div> <div class="metrics-hover pull-left"> <a href="#metrics-citations" class="metrics-citations" data-toggle="tab"> </a> </div> <div class="metrics-hover pull-left"> <a href="#metrics-shares" class="metrics-shares" data-toggle="tab"> </a> </div> </div> </div> </div> <!-- END: Metrics for Root Dataverse--> </div> <ui:fragment rendered="#{SearchIncludeFragment.filterQueries.size() == 0 and SearchIncludeFragment.mode != SearchIncludeFragment.searchModeString}"> <o:importFunctions type="edu.harvard.iq.dataverse.util.MarkupChecker" /> <ui:fragment rendered="#{!empty DataversePage.dataverse.description}"> <div id="dataverseDesc" style="margin-bottom:1em;"> <h:outputText value="#{MarkupChecker:sanitizeBasicHTML(DataversePage.dataverse.description)}" escape="false"/> </div> </ui:fragment> <!-- Featured Dataverses Carousel --> <div id="carouselBlocksWrapper" jsf:rendered="#{!empty DataversePage.carouselFeaturedDataverses}"> <div id="featuredDataversesBlock"> <div class="customNavigation"> <a class="btn prev1" title="#{bundle['dataverse.page.pre']}"><span class="glyphicon glyphicon-chevron-left"/></a> </div> <div id="featuredDataversesList" class="owl-carousel owl-theme"> <ui:repeat value="#{DataversePage.carouselFeaturedDataverses}" var="dv" varStatus="status"> <div class="item"> <div style="vertical-align:middle;"> <ui:fragment rendered="#{empty dv.dataverseTheme.logo}"> <a href="/dataverse/#{dv.alias}" title="#{dv.name} #{bundle.dataverse}"> <i class="icon-dataverse"></i> </a> </ui:fragment> <ui:fragment rendered="#{!empty dv.dataverseTheme.logo and dv.dataverseTheme.logoFormat == 'SQUARE'}"> <a href="/dataverse/#{dv.alias}" title="#{dv.name} #{bundle.dataverse}"> <img src="/logos/#{dv.logoOwnerId}/#{dv.dataverseTheme.logo}" alt="#{dv.name} #{bundle.dataverse}"/> </a> </ui:fragment> <ui:fragment rendered="#{!empty dv.dataverseTheme.logo and dv.dataverseTheme.logoFormat == 'RECTANGLE'}"> <a href="/dataverse/#{dv.alias}" title="#{dv.name} #{bundle.dataverse}"> <img src="/logos/#{dv.logoOwnerId}/#{dv.dataverseTheme.logo}" alt="#{dv.name} #{bundle.dataverse}"/> </a> </ui:fragment> <a href="/dataverse/#{dv.alias}" title="#{dv.name} #{bundle.dataverse}"> <h:outputText value="#{dv.name} #{bundle.dataverse}"/> </a> </div> </div> </ui:repeat> </div> <div class="customNavigation"> <a class="btn next1" title="#{bundle['dataverse.page.next']}"><span class="glyphicon glyphicon-chevron-right"/></a> </div> </div> </div> <!-- END: Featured Dataverses Carousel --> </ui:fragment> </ui:fragment> <!-- Save / Cancel Button Panel --> <div class="button-block" jsf:rendered="#{!empty DataversePage.editMode}"> <p:commandButton id="save" tabindex="9" value="#{DataversePage.dataverse.id == null ? bundle.createDataverse : bundle.saveChanges}" action="#{DataversePage.save}" update="@all"> <f:ajax onerror="window.scrollTo(0, 0);" /> </p:commandButton> <p:commandButton id="cancel" tabindex="10" value="#{bundle.cancel}" actionListener="#{DataversePage.cancel}" process="@this" update="@form" rendered="#{DataversePage.dataverse.id != null}" oncomplete="javascript:post_cancel_edit_dv()" /> <p:button tabindex="10" value="#{bundle.cancel}" outcome="/dataverse.xhtml?alias=#{DataversePage.dataverse.owner.alias}" rendered="#{DataversePage.dataverse.id == null and DataversePage.ownerId != null}"/> </div> <!-- POPUPS --> <!-- Featured Dataverses Popup --> <p:dialog id="browseOptsForm" header="#{bundle['dataverse.option.featuredDataverse']}" widgetVar="browseOptsForm" modal="true"> <ui:fragment rendered="#{!empty DataversePage.featuredDataverses.source or !empty DataversePage.featuredDataverses.target}"> <div class="form-group"> <p class="help-block"><span class="glyphicon glyphicon-info-sign"/> #{bundle['dataverse.selectToFeature']}</p> <p:pickList id="featuredDataverseList" value="#{DataversePage.featuredDataverses}" var="featureddataverse" itemLabel="#{featureddataverse.name}" itemValue="#{featureddataverse}" converter="dataverseConverter" showSourceFilter="true" showTargetFilter="true" /> </div> <div class="button-block"> <p:commandButton value="#{bundle.saveChanges}" action="#{DataversePage.save}"/> <p:commandButton value="#{bundle.cancel}" onclick="browseOptsForm.hide()"/> </div> </ui:fragment> <ui:fragment rendered="#{empty DataversePage.featuredDataverses.source and empty DataversePage.featuredDataverses.target}"> <p class="text-danger"> <span class="glyphicon glyphicon-warning-sign"/> #{bundle['dataverse.nopublished.tip']} </p> <div class="button-block"> <p:commandButton value="#{bundle.cancel}" onclick="browseOptsForm.hide()"/> </div> </ui:fragment> </p:dialog> <!-- Publish Confirmation Popup --> <p:dialog header="#{bundle['dataverse.publish.header']}" widgetVar="confirmation" modal="true"> <p class="text-danger"> <span class="glyphicon glyphicon-warning-sign"/> #{bundle['dataverse.publish.tip']} </p> <div class="button-block"> <p:commandButton value="#{bundle.continue}" onclick="confirmation.hide()" action="#{DataversePage.releaseDataverse}" /> <p:commandButton value="#{bundle.cancel}" onclick="confirmation.hide();" type="button" /> </div> </p:dialog> <p:dialog header="#{bundle['dataverse.publish.failed']}" widgetVar="mayNotRelease" modal="true"> <p class="text-danger"> <span class="glyphicon glyphicon-warning-sign"/> #{bundle['dataverse.publish.failed.tip']} </p> <div class="button-block"> <p:commandButton value="#{bundle.cancel}" onclick="mayNotRelease.hide();" type="button" /> </div> </p:dialog> <p:dialog header="#{bundle['dataverse.delete']}" widgetVar="deleteConfirmation" modal="true"> <p class="text-danger"> <span class="glyphicon glyphicon-warning-sign"/> #{bundle['dataverse.delete.tip']} </p> <div class="button-block"> <p:commandButton value="#{bundle.continue}" onclick="deleteConfirmation.hide()" action="#{DataversePage.deleteDataverse}" /> <p:commandButton value="#{bundle.cancel}" onclick="deleteConfirmation.hide();" type="button" /> </div> </p:dialog> </h:form> <!-- Search/Browse Facets Panel --> <ui:fragment rendered="#{empty DataversePage.editMode}"> <ui:include src="search-include-fragment.xhtml"> <ui:param name="showAdvancedSearchLink" value="true"/> <ui:param name="showFacets" value="true"/> <ui:param name="showSearch" value="true"/> </ui:include> </ui:fragment> <!-- Link Dataverse Popup --> <p:dialog id="linkDataverseForm" header="#{DataversePage.linkMode == 'SAVEDSEARCH' ? bundle['dataverse.savedsearch.link'] : bundle['dataverse.link']}" widgetVar="linkDataverseForm" modal="true"> <h:form styleClass="form-horizontal" rendered="#{DataversePage.dataversesForLinking.size() > 1}"> <ui:fragment rendered="#{DataversePage.linkMode == 'LINKDATAVERSE'}"> <p class="help-block"><span class="glyphicon glyphicon-info-sign"/> #{bundle['dataverse.link.dataverse.choose']}</p> </ui:fragment> <ui:fragment rendered="#{DataversePage.linkMode == 'SAVEDSEARCH'}"> <p class="help-block"><span class="glyphicon glyphicon-info-sign"/> #{bundle['dataverse.savedsearch.dataverse.choose']}</p> </ui:fragment> <div class="form-group"> <label class="col-sm-4 control-label"> <h:outputFormat value="#{bundle['dataverse.link.yourDataverses']}"> <f:param value="#{DataversePage.dataversesForLinking.size()}"/> </h:outputFormat> </label> <div class="col-sm-7"> <h:selectOneMenu styleClass="form-control" value="#{DataversePage.linkingDataverseId}"> <f:selectItems value="#{DataversePage.linkingDVSelectItems}" /> </h:selectOneMenu> <ui:remove> <p:autoComplete id="dvName" value="#{DataversePage.dataversesForLinking}" queryDelay="1000" var="u" itemLabel="#{u.id}" itemValue="#{u.id}"> <f:facet name="itemtip"> <div> <strong>#{u.id}</strong><br/> <em>#{u.affiliation}</em> </div> </f:facet> </p:autoComplete> </ui:remove> </div> </div> <ui:fragment rendered="#{DataversePage.linkMode == 'SAVEDSEARCH'}"> <div class="form-group" jsf:rendered="#{!empty SearchIncludeFragment.query}"> <label class="col-sm-4 control-label"> #{bundle['dataverse.savedsearch.searchquery']} </label> <div class="col-sm-7"> <p class="form-control-static"> #{SearchIncludeFragment.query} </p> </div> </div> <div class="form-group" jsf:rendered="#{!empty SearchIncludeFragment.filterQueriesDebug}"> <label class="col-sm-4 control-label"> #{bundle['dataverse.savedsearch.filterQueries']} </label> <div class="col-sm-7"> <ui:repeat value="#{SearchIncludeFragment.filterQueriesDebug}" var="fq"> <p class="form-control-static"><h:outputText value="#{fq}"/></p> </ui:repeat> </div> </div> </ui:fragment> <div class="button-block"> <p:commandButton value="#{bundle['dataverse.link.save']}" action="#{DataversePage.saveLinkedDataverse}" rendered="#{DataversePage.linkMode == 'LINKDATAVERSE'}"/> <p:commandButton value="#{bundle['dataverse.savedsearch.save']}" action="#{DataversePage.saveSavedSearch}" rendered="#{DataversePage.linkMode == 'SAVEDSEARCH'}"/> <p:commandButton value="#{bundle.cancel}" onclick="linkDataverseForm.hide()"/> </div> </h:form> <ui:fragment rendered="#{DataversePage.dataversesForLinking.size() == 1}"> <p class="help-block"><span class="glyphicon glyphicon-info-sign"/> #{bundle['dataverse.link.no.choice']}</p> <div class="form-horizontal"> <div class="form-group"> <label class="col-sm-4 control-label"> <h:outputFormat value="#{bundle['dataverse.link.yourDataverses']}"> <f:param value="#{DataversePage.dataversesForLinking.size()}"/> </h:outputFormat> </label> <div class="col-sm-7"> <p class="form-control-static">#{DataversePage.linkingDataverse.displayName}</p> </div> </div> </div> <div class="button-block"> <p:commandButton value="#{bundle['dataverse.link.save']}" onclick="linkDataverseForm.hide()" actionListener="#{DataversePage.saveLinkedDataverse()}"/> <p:commandButton value="#{bundle.cancel}" onclick="linkDataverseForm.hide()"/> </div> </ui:fragment> <ui:fragment rendered="#{DataversePage.dataversesForLinking.size() == 0}"> <p class="text-danger"> <span class="glyphicon glyphicon-warning-sign"/> #{bundle['dataverse.link.no.linkable']} </p> <div class="button-block"> <p:commandButton value="#{bundle.cancel}" onclick="linkDataverseForm.hide()"/> </div> </ui:fragment> </p:dialog> <!-- Metadata Resest Modifications Popup --> <p:dialog id="resetModifications" header="#{bundle['dataverse.resetModifications']}" widgetVar="resetModifications" modal="true" closable="false"> <p class="text-danger"> <span class="glyphicon glyphicon-warning-sign"/> #{bundle['dataverse.resetModifications.text']} </p> <div class="button-block"> <p:commandButton value="#{bundle.continue}" onclick="check();resetModifications.hide()" /> <p:commandButton value="#{bundle.cancel}" onclick="uncheck();resetModifications.hide()" /> </div> </p:dialog> <script type="text/javascript"> //<![CDATA[ $(document).ready(function () { initPopover(); initCarousel(); }); function initCarousel() { var owl1 = $("#featuredDataversesList"); owl1.owlCarousel({ pagination: false, navigation: false, items: 4, //10 items above 1000px browser width itemsDesktop: [1140, 4], //5 items between 1000px and 901px itemsDesktopSmall: [940, 3], // betweem 900px and 601px itemsTablet: [720, 2], //2 items between 600 and 0 itemsMobile: false // itemsMobile disabled - inherit from itemsTablet option }); if (owl1.find('div.owl-item').length > 4) { // Custom Navigation Events $(".next1").click(function () { owl1.trigger('owl.next'); }); $(".prev1").click(function () { owl1.trigger('owl.prev'); }); } else { $("#featuredDataversesBlock .customNavigation a.btn").hide(); } $('#featuredDataversesList .item').matchHeight(); } function initPopover() { $('[data-toggle="tooltip"]').tooltip({container: 'body'}); $('[data-toggle="popover"]').popover(); $('body').on('click', function (e) { $('label[data-toggle="popover"]').each(function () { //the 'is' for buttons that trigger popups //the 'has' for icons within a button that triggers a popup if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) { $(this).popover('hide'); } }); }); } function updateInclude() { $('button[id$="hiddenRefresh"]').trigger('click'); } function updateMetadata(checkbox) { var checked = checkbox.checked; if (checked === false){ $('button[id$="updateMetadataButton"]').trigger('click'); } else { resetModifications.show(); } } function check() { $('button[id$="resetToInherit"]').trigger('click'); } function uncheck() { $('input:checkbox[id$="metadataRoot"]').prop('checked', false); } //]]> </script> </ui:define> </ui:composition> </h:body> </html>
