comparison src/main/webapp/dataverse_header.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
comparison
equal deleted inserted replaced
9:5926d6419569 10:a50cf11e5178
1 <ui:composition xmlns="http://www.w3.org/1999/xhtml"
2 xmlns:h="http://java.sun.com/jsf/html"
3 xmlns:f="http://java.sun.com/jsf/core"
4 xmlns:ui="http://java.sun.com/jsf/facelets"
5 xmlns:p="http://primefaces.org/ui"
6 xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"
7 xmlns:jsf="http://xmlns.jcp.org/jsf"
8 xmlns:iqbs="http://xmlns.jcp.org/jsf/composite/iqbs">
9
10 <div id="dataverse-header-block">
11 <!-- Navbar Panel -->
12 <nav id="navbarFixed" class="navbar navbar-default navbar-fixed-top" role="navigation">
13 <div class="container">
14 <div class="navbar-header">
15 <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#topNavBar">
16 <span class="sr-only">Toggle navigation</span>
17 <span class="icon-bar"></span>
18 <span class="icon-bar"></span>
19 <span class="icon-bar"></span>
20 </button>
21 <a href="/">
22 <span class="navbar-brand"><i id="icon-dataverse" class="icon-dataverse"></i> #{bundle.dataverse}</span>
23 </a>
24 <h:outputLink value="#" onclick="statusInfo.show()" rendered="#{!empty settingsServiceBean.get(':StatusMessageText')}">
25 <span class="label label-default status">#{!empty settingsServiceBean.get(':StatusMessageHeader') ? settingsServiceBean.get(':StatusMessageHeader') : bundle['header.status.header']}</span>
26 </h:outputLink>
27 <ui:fragment rendered="#{empty settingsServiceBean.get(':StatusMessageText') and !empty settingsServiceBean.get(':StatusMessageHeader')}">
28 <span class="label label-default status">#{settingsServiceBean.get(':StatusMessageHeader')}</span>
29 </ui:fragment>
30 </div>
31 <div class="collapse navbar-collapse" id="topNavBar">
32 <ul class="nav navbar-nav navbar-right">
33 <li>
34 <a id="navbar-search-toggle" title="#{bundle['header.search.title']}">
35 <span class="glyphicon glyphicon-search"></span>
36 </a>
37 </li>
38 <form class="navbar-form navbar-left" role="search" style="display:none;">
39 <div class="form-group">
40 <label class="sr-only" for="navbarsearch">#{bundle.search}</label>
41 <input id="navbarsearch" type="text" class="search-input ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all" size="28" value="" placeholder="#{bundle['header.search.title']}"/>
42 </div>
43 <button type="submit" class="btn btn-default" onclick="window.location = '/?q=' + document.getElementById('navbarsearch').value; return false;">
44 <span class="glyphicon glyphicon-search"/> #{bundle.find}
45 </button>
46 </form>
47 <li>
48 <h:outputLink value="http://dataverse.org/" target="_blank">
49 #{bundle['header.about']}
50 </h:outputLink>
51 </li>
52 <li class="dropdown">
53 <span id="dataverseSupportLink" class="dropdown-toggle" data-toggle="dropdown">
54 #{bundle['header.guides']} <b class="caret"></b>
55 </span>
56 <ul class="dropdown-menu">
57 <li>
58 <h:outputLink value="#{systemConfig.guidesBaseUrl}/#{systemConfig.version}/user" target="_blank">
59 #{bundle['header.guides.user']}
60 </h:outputLink>
61 </li>
62 <li>
63 <h:outputLink value="#{systemConfig.guidesBaseUrl}/latest/developers" target="_blank">
64 <h:outputText value="#{bundle['header.guides.developers']}" />
65 </h:outputLink>
66 </li>
67 <li>
68 <h:outputLink value="#{systemConfig.guidesBaseUrl}/latest/installation" target="_blank">
69 <h:outputText value="#{bundle['header.guides.installation']}" />
70 </h:outputLink>
71 </li>
72 <li>
73 <h:outputLink value="#{systemConfig.guidesBaseUrl}/#{systemConfig.version}/api" target="_blank">
74 <h:outputText value="#{bundle['header.guides.api']}" />
75 </h:outputLink>
76 </li>
77 </ul>
78 </li>
79 <h:form class="navbar-form navbar-left navbar-form-link">
80 <p:commandLink value="#{bundle['header.support']}" oncomplete="contactForm.show()" update=":contactDialog" actionListener="#{sendFeedbackDialog.initUserInput}">
81 <f:setPropertyActionListener target="#{sendFeedbackDialog.messageSubject}" value="#{bundle['dataverse']} #{dataverseService.getApplicationVersion()} #{bundle['header.contact']}"/>
82 <f:setPropertyActionListener target="#{sendFeedbackDialog.recipient}" value="#{null}"/>
83 <f:setPropertyActionListener target="#{sendFeedbackDialog.userMessage}" value=""/>
84 <f:setPropertyActionListener target="#{sendFeedbackDialog.userEmail}" value=""/>
85 </p:commandLink>
86 </h:form>
87 <ui:fragment rendered="#{!dataverseSession.user.authenticated}">
88 <li>
89 <h:outputLink rendered="#{dataverseHeaderFragment.signupAllowed}"
90 value="#{dataverseHeaderFragment.signupUrl}">
91 #{bundle['header.signUp']}
92 </h:outputLink>
93 </li>
94 <li>
95 <h:outputLink value="/loginpage.xhtml#{loginRedirectPage}">
96 #{bundle.login}
97 </h:outputLink>
98 </li>
99 </ui:fragment>
100 <ui:fragment rendered="#{dataverseSession.user.authenticated}">
101 <li class="dropdown accountName">
102 <span id="lnk_header_account_dropdown" class="dropdown-toggle" data-toggle="dropdown">
103 <ui:fragment rendered="#{dataverseSession.user.superuser}">
104 <span class="glyphicon glyphicon-user text-danger"></span>
105 </ui:fragment>
106 <h:outputText styleClass="#{dataverseSession.user.superuser ? 'text-danger' : ''}" value="#{dataverseSession.user.displayInfo.title}" id="userDisplayInfoTitle"/>
107 <h:outputText styleClass="label label-danger" rendered="#{ dataverseHeaderFragment.getUnreadNotificationCount(dataverseSession.user.id) > 0 }"
108 value="#{ dataverseHeaderFragment.getUnreadNotificationCount(dataverseSession.user.id) }" />
109
110 <b class="caret"></b>
111 </span>
112 <ul class="dropdown-menu">
113 <li>
114 <h:outputLink value="/dataverseuser.xhtml">
115 <f:param name="selectTab" value="dataRelatedToMe" />
116 <h:outputText value="#{bundle['header.user.selectTab.dataRelated']}" />
117 </h:outputLink>
118 </li>
119 <li>
120 <h:outputLink value="/dataverseuser.xhtml">
121 <f:param name="selectTab" value="notifications" />
122 <h:outputText value="#{bundle['header.user.selectTab.notifications']}" />
123 <h:outputText styleClass="label label-danger" rendered="#{ dataverseHeaderFragment.getUnreadNotificationCount(dataverseSession.user.id) > 0 }"
124 value="#{dataverseHeaderFragment.getUnreadNotificationCount(dataverseSession.user.id)}" />
125 </h:outputLink>
126 </li>
127 <ui:remove>
128 <li>
129 <h:outputLink value="/dataverseuser.xhtml">
130 <f:param name="selectTab" value="groupsRoles" />
131 <h:outputText value="#{bundle['header.user.selectTab.groupsAndRoles']}" />
132 </h:outputLink>
133 </li>
134 </ui:remove>
135 <li>
136 <h:outputLink value="/dataverseuser.xhtml">
137 <f:param name="selectTab" value="accountInfo" />
138 <h:outputText value="#{bundle['header.accountInfo']}" />
139 </h:outputLink>
140 </li>
141 <li class="divider"></li>
142 <li class="logout">
143 <h:form styleClass="navbar-form navbar-left" pt:role="logout">
144 <h:commandLink action="#{dataverseHeaderFragment.logout}" id="lnk_header_logout">
145 <h:outputText value="#{bundle['header.logOut']}" />
146 </h:commandLink>
147 </h:form>
148 </li>
149 </ul>
150 </li>
151 </ui:fragment>
152 </ul>
153 </div>
154 </div>
155 </nav>
156 <ui:fragment rendered="#{dataverseHeaderFragment.debugShibboleth}">
157 <h:outputText value="groups: #{dataverseHeaderFragment.getGroups(dataverseSession.user)}"/>
158 <br/>
159 <h:outputText value="permissions #{dataverseHeaderFragment.getPermissions(dataverseSession.user, dataverse)}"/>
160 </ui:fragment>
161 <ui:param name="dataversePage" value="#{dataverseLinksStayOnPage == true ? '' : '/dataverse.xhtml' }"/>
162
163 <!-- Header Panel -->
164 <div id="dataverseHeader" class="container bg-muted"
165 style="background:##{!empty dataverse.dataverseTheme.backgroundColor ? dataverse.dataverseTheme.backgroundColor : 'F5F5F5'};"
166 jsf:rendered="#{showDataverseHeader}">
167 <div class="dataverseHeaderLogo" style="text-align:#{!empty dataverse.dataverseTheme.logoAlignment ? dataverse.dataverseTheme.logoAlignment : 'center'};; background:##{!empty dataverse.dataverseTheme.logoBackgroundColor ? dataverse.dataverseTheme.logoBackgroundColor : 'F5F5F5'};"
168 jsf:rendered="#{!empty dataverse.dataverseTheme.logo and dataverse.dataverseTheme.logoFormat == 'RECTANGLE'}">
169 <img src="/logos/#{dataverse.logoOwnerId}/#{dataverse.dataverseTheme.logo}" alt="#{dataverse.name} #{bundle.dataverse}"/>
170 </div>
171 <div class="dataverseHeaderBlock">
172 <div class="dataverseHeaderCell dataverseHeaderLogo" jsf:rendered="#{!empty dataverse.dataverseTheme.logo and dataverse.dataverseTheme.logoFormat == 'SQUARE'}">
173 <img src="/logos/#{dataverse.logoOwnerId}/#{dataverse.dataverseTheme.logo}" alt="#{dataverse.name} #{bundle.dataverse}"/>
174 </div>
175 <div class="dataverseHeaderCell dataverseHeaderName" jsf:rendered="#{!empty dataverse.name}">
176 <a href="/dataverse/#{dataverse.alias}" class="dataverseHeaderDataverseName" style="color:##{!empty dataverse.dataverseTheme.linkColor ? dataverse.dataverseTheme.linkColor : '428bca'};">#{dataverse.name} #{bundle.dataverse}</a>
177 <h:outputText style="color:##{!empty dataverse.dataverseTheme.textColor ? dataverse.dataverseTheme.textColor : '888888'};" value=" (#{dataverse.affiliation})" rendered="#{!empty dataverse.affiliation}"/>
178 <h:outputText value="#{bundle.unpublished}" styleClass="label label-warning label-unpublished" rendered="#{!dataverse.released}"/>
179 </div>
180 <div class="dataverseHeaderCell dataverseHeaderName" jsf:rendered="#{empty dataverse.name}">
181 <h:outputText styleClass="dataverseHeaderDataverseName" value="#{bundle.newDataverse}"/>
182 </div>
183 <div class="dataverseHeaderCell dataverseHeaderTagline" jsf:rendered="#{!empty dataverse.dataverseTheme.tagline and empty dataverse.dataverseTheme.linkUrl}">
184 <h:outputText escape="false" style="color:##{!empty dataverse.dataverseTheme.textColor ? dataverse.dataverseTheme.textColor : '888888'};" value="#{dataverse.dataverseTheme.tagline}" />
185 </div>
186 <div class="dataverseHeaderCell dataverseHeaderLink" jsf:rendered="#{!empty dataverse.dataverseTheme.tagline and !empty dataverse.dataverseTheme.linkUrl}">
187 <h:outputLink value="#{dataverse.dataverseTheme.linkUrl}" style="color:##{!empty dataverse.dataverseTheme.linkColor ? dataverse.dataverseTheme.linkColor : '428bca'};" target="_blank">
188 <h:outputText value="#{dataverse.dataverseTheme.tagline}" escape="false"/>
189 </h:outputLink>
190 </div>
191 </div>
192 </div>
193
194 <div id="breadcrumbNavBlock" class="container" jsf:rendered="#{dataverseHeaderFragment.breadcrumbs.size() > 1}">
195 <ui:repeat value="#{dataverseHeaderFragment.breadcrumbs}" var="breadcrumb" varStatus="status">
196 <h:outputText value=" > " styleClass="breadcrumbCarrot" rendered="#{!status.first}"/>
197 <div class="breadcrumbBlock">
198 <h:outputText value="#{breadcrumb.breadcrumbText}" styleClass="#{'breadcrumbActive'}" rendered="#{status.last}"/>
199 <ui:fragment rendered="#{!status.last}">
200 <h:outputText value="#{breadcrumb.breadcrumbText}" rendered="#{!breadcrumb.dvObject.instanceofDataverse and !breadcrumb.dvObject.instanceofDataset}"/>
201
202 <ui:fragment rendered="#{breadcrumb.dvObject.instanceofDataverse}">
203 <a id="breadcrumbLnk#{status.index}" href="/dataverse/${breadcrumb.dvObject.alias}">
204 <h:outputText value="#{breadcrumb.breadcrumbText}"/>
205 </a>
206 </ui:fragment>
207 <ui:fragment rendered="#{breadcrumb.dvObject.instanceofDataset}">
208 <a id="breadcrumbLnk#{status.index}" href="/dataset.xhtml?persistentId=${breadcrumb.dvObject.globalId}">
209 <h:outputText value="#{breadcrumb.breadcrumbText}"/>
210 </a>
211 </ui:fragment>
212 </ui:fragment>
213 </div>
214 </ui:repeat>
215 </div>
216
217 <ui:remove>
218 <!-- Removing this temporarily until we can fix the performance issues with it;
219 replaced with generic bookmarks; will have to see how to best make this work-->
220 <div class="dropdown #{dataverseHeaderFragment.hasVisibleChildren(dv) ? 'dropdown-toggle keep-on' : ''}" data-delay="#{dataverseHeaderFragment.hasVisibleChildren(dv) ? '800' : ''}" data-hover="#{dataverseHeaderFragment.hasVisibleChildren(dv) ? 'dropdown' : ''}" data-target="#{dataverseHeaderFragment.hasVisibleChildren(dv) ? '#' : ''}" data-close-others="#{dataverseHeaderFragment.hasVisibleChildren(dv) ? 'true' : ''}">
221 <h:outputText value="#{dv.name} #{bundle.dataverse}" styleClass="#{dataverse.id == dv.id ? 'breadcrumbActive' : ''}" rendered="#{dataverse.id == dv.id and dataset == null}"/>
222 <ui:fragment rendered="#{dataverse.id != dv.id or dataset != null}" >
223 <a id="breadcrumbLnk#{status.index}" href="/dataverse/#{dv.alias}">
224 <h:outputText value="#{dv.name} #{bundle.dataverse}"/>
225 </a>
226 </ui:fragment>
227
228 <ui:fragment rendered="#{dataverseHeaderFragment.hasVisibleChildren(dv)}">
229 <a id="taverse" styleClass="#{dataverse.id == dv.id ? 'breadcrumbActive' : ''}" role="button">
230 <span class="glyphicon glyphicon-chevron-down"></span>
231 </a>
232 </ui:fragment>
233 </div>
234 <div class="dropdown-menu" role="menu" aria-labelledby="breadcrumbLnk#{status.index}" rendered="#{dataverseHeaderFragment.hasVisibleChildren(dv)}">
235 <p:tree value="#{dataverseHeaderFragment.getDataverseTree(dv)}" var="node" cache="true" id="tree">
236 <p:treeNode>
237 <h:outputText value="#{node.name} #{bundle.dataverse}" styleClass="breadcrumbActive" rendered="#{dataverse.id == node.id and dataset == null}"/>
238 <h:outputLink value="/dataverse/#{node.alias}" rendered="#{dataverse.id != node.id or dataset != null}">
239 <h:outputText value="#{node.name} #{bundle.dataverse}"/>
240 </h:outputLink>
241 </p:treeNode>
242 </p:tree>
243 </div>
244 </ui:remove>
245
246 <!-- Message Panel -->
247 <p:fragment id="messagePanel" rendered="#{showMessagePanel}">
248 <div class="container messagePanel">
249 <iqbs:messages id="messages" collapsible="true" />
250 </div>
251 </p:fragment>
252 </div>
253 </ui:composition>