-
Notifications
You must be signed in to change notification settings - Fork 500
/
Copy pathdataset-versions.xhtml
171 lines (163 loc) · 13.7 KB
/
dataset-versions.xhtml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
<ui:composition
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:c="http://java.sun.com/jsp/jstl/core"
xmlns:p="http://primefaces.org/ui"
xmlns:o="http://omnifaces.org/ui"
xmlns:jsf="http://xmlns.jcp.org/jsf">
<ui:fragment rendered="#{widgetWrapper.widgetView}">
<p class="help-block">
<h:outputFormat value="#{bundle['file.dataFilesTab.versions.widget.viewMoreInfo']}" escape="false">
<f:param value="#{DatasetPage.dataset.globalId.asString()}"/>
<f:param value="#{DatasetPage.dataset.displayName}"/>
<f:param value="#{dataverseServiceBean.findRootDataverse().displayName}"/>
</h:outputFormat>
</p>
</ui:fragment>
<ui:fragment rendered="#{!widgetWrapper.widgetView}">
<!-- VERSIONS -->
<script>
//<![CDATA[
// Version tab: Retrieve data after page load
$(document).ready(function () {
preload_message = "#{bundle['file.dataFilesTab.versions.preloadmessage']}";
$('#datasetForm\\:tabView\\:versionsTable_data tr.ui-datatable-empty-message td').text(preload_message);
postLoadVersionTabList();
});
//]]>
</script>
<!-- Retrieve version differences after the page load -->
<p:remoteCommand name="postLoadVersionTabList"
process="@this"
update=":#{p:resolveClientId('datasetForm:tabView:versionsTable', view)}"
actionListener="#{DatasetPage.postLoadSetVersionTabList()}" />
<div class="text-right margin-bottom">
<ui:fragment rendered="#{DatasetPage.compareVersionsCount > 2}">
<button type="button" class="btn btn-default" onclick="testCheckBoxes();">
<span class="glyphicon glyphicon-transfer"/> #{bundle['file.dataFilesTab.versions.viewDiffBtn']}
</button>
</ui:fragment>
<p:commandButton value="#{bundle['file.dataFilesTab.button.direct']}" id="compareVersions"
style="display:none"
update=":datasetForm"
oncomplete="PF('detailsBlocks').show();post_differences();"
actionListener="#{DatasetPage.compareVersionDifferences()}">
</p:commandButton>
</div>
<p:dataTable id="versionsTable" value="#{DatasetPage.versionTabListForPostLoad}" var="versionTab" widgetVar="versionsTable"
rowIndexVar="rowNum" selection="#{DatasetPage.selectedVersions}" disabledSelection="#{versionTab.deaccessioned}" rowKey="#{versionTab}">
<!-- start: checkbox column -->
<p:column selectionMode="multiple" class="col-select-width text-center" rendered="#{DatasetPage.compareVersionsCount > 2}"/><!-- end: checkbox column -->
<!-- start: version number column -->
<p:column headerText="#{bundle['file.dataFilesTab.versions.headers.dataset']}" class="col-sm-1 text-center">
<ui:fragment rendered="#{versionTab.released
or ((versionTab.deaccessioned or versionTab.draft) and permissionServiceBean.on(DatasetPage.dataset).has('ViewUnpublishedDataset'))}">
<ui:fragment rendered="#{!(versionTab.released or versionTab.deaccessioned)}">
<a href="/dataset.xhtml?persistentId=#{versionTab.dataset.globalId.asString()}&version=#{versionTab.versionState}" class="ui-commandlink ui-widget">
<h:outputText rendered="#{!(versionTab.released or versionTab.deaccessioned)}" value="#{versionTab.versionState}" /></a>
</ui:fragment>
<ui:fragment rendered="#{(versionTab.released or versionTab.deaccessioned)}">
<a href="/dataset.xhtml?persistentId=#{versionTab.dataset.globalId.asString()}&version=#{versionTab.versionNumber}.#{versionTab.minorVersionNumber}" class="ui-commandlink ui-widget">
<h:outputText rendered="#{versionTab.released or versionTab.deaccessioned}" value="#{versionTab.versionNumber}.#{versionTab.minorVersionNumber}" /></a>
</ui:fragment>
</ui:fragment>
<ui:fragment rendered="#{versionTab.deaccessioned and !permissionServiceBean.on(DatasetPage.dataset).has('ViewUnpublishedDataset')}">
<h:outputText rendered="#{versionTab.released or versionTab.deaccessioned}" value="#{versionTab.versionNumber}.#{versionTab.minorVersionNumber}" />
</ui:fragment>
</p:column><!-- end: version number column -->
<!-- start: description column -->
<p:column headerText="#{bundle['file.dataFilesTab.versions.headers.summary']}">
<ui:fragment rendered="#{versionTab.defaultVersionDifference != null}">
<ui:fragment rendered="#{!empty(versionTab.defaultVersionDifference.summaryDataForNote)}">
<h:outputText styleClass="highlightBold" value="#{bundle['file.dataFilesTab.versions.citationMetadata']} " />
<ui:repeat value="#{versionTab.defaultVersionDifference.summaryDataForNote}" var="summaryNote">
<h:outputText value=" #{summaryNote[0].datasetFieldType.displayName} (" />
<h:outputText rendered="#{(summaryNote[1]) > 0 and summaryNote[0].datasetFieldType.allowMultiples}" value="#{summaryNote[1]} #{bundle['file.dataFilesTab.versions.added']}" />
<h:outputText rendered="#{(summaryNote[1]) > 0 and !(summaryNote[0].datasetFieldType.allowMultiples)}" value="#{bundle['file.dataFilesTab.versions.added']}" />
<h:outputText rendered="#{(summaryNote[1]) > 0 and (summaryNote[2] + summaryNote[3]) > 0}" value=", " />
<h:outputText rendered="#{(summaryNote[2]) > 0 and summaryNote[0].datasetFieldType.allowMultiples}" value="#{summaryNote[2]} #{bundle['file.dataFilesTab.versions.removed']}" />
<h:outputText rendered="#{(summaryNote[2]) > 0 and !(summaryNote[0].datasetFieldType.allowMultiples)}" value="#{bundle['file.dataFilesTab.versions.removed']}" />
<h:outputText rendered="#{(summaryNote[2]) > 0 and (summaryNote[3]) > 0}" value=", " />
<h:outputText rendered="#{(summaryNote[3]) > 0 and summaryNote[0].datasetFieldType.allowMultiples}" value="#{summaryNote[3]} #{bundle['file.dataFilesTab.versions.changed']}" />
<h:outputText rendered="#{(summaryNote[3]) > 0 and !(summaryNote[0].datasetFieldType.allowMultiples)}" value="#{bundle['file.dataFilesTab.versions.changed']}" />
<h:outputText value="); " />
</ui:repeat>
</ui:fragment>
<ui:fragment rendered="#{!empty(versionTab.defaultVersionDifference.blockDataForNote)}">
<ui:repeat value="#{versionTab.defaultVersionDifference.blockDataForNote}" var="blockNote">
<h:outputText styleClass="highlightBold" rendered="#{blockNote[0].datasetFieldType.metadataBlock.displayName == 'Citation Metadata'}" value="#{bundle['file.dataFilesTab.versions.additionalCitationMetadata']} " />
<h:outputText styleClass="highlightBold" rendered="#{!(blockNote[0].datasetFieldType.metadataBlock.displayName == 'Citation Metadata')}" value=" #{blockNote[0].datasetFieldType.metadataBlock.localeDisplayName}: " />
<h:outputText value=" (" />
<h:outputText rendered="#{blockNote[1] > 0}" value="#{blockNote[1]} #{bundle['file.dataFilesTab.versions.added']}" />
<h:outputText rendered="#{(blockNote[1]) > 0 and (blockNote[2] + blockNote[3]) > 0}" value=", " />
<h:outputText rendered="#{(blockNote[2]) > 0}" value="#{blockNote[2]} #{bundle['file.dataFilesTab.versions.removed']}" />
<h:outputText rendered="#{(blockNote[2]) > 0 and (blockNote[3]) > 0}" value=", " />
<h:outputText rendered="#{(blockNote[3]) > 0}" value="#{blockNote[3]} #{bundle['file.dataFilesTab.versions.changed']}" />
<h:outputText value="); " />
</ui:repeat>
</ui:fragment>
<ui:fragment rendered="#{!empty(versionTab.defaultVersionDifference.fileNote)}">
<h:outputText styleClass="highlightBold" value="#{versionTab.defaultVersionDifference.fileNote}; " />
</ui:fragment>
<ui:fragment rendered="#{!empty(versionTab.defaultVersionDifference.changedTermsAccess)}">
<h:outputText styleClass="highlightBold" value="#{bundle['dataset.versionDifferences.termsOfUseAccessChanged']} " />
</ui:fragment>
</ui:fragment>
<ui:fragment rendered="#{versionTab.defaultVersionDifference == null}">
<ui:fragment rendered="#{versionTab.draft}">
#{bundle['file.dataFilesTab.versions.description.draft']}
</ui:fragment>
<ui:fragment rendered="#{versionTab.released and versionTab.priorVersionState == 'DEACCESSIONED'}">
#{bundle['file.dataFilesTab.versions.description.deaccessioned']}
</ui:fragment>
<ui:fragment rendered="#{versionTab.released and versionTab.priorVersionState == null}">
#{bundle['file.dataFilesTab.versions.description.firstPublished']}
</ui:fragment>
<ui:fragment rendered="#{versionTab.deaccessioned}">
#{bundle['file.dataFilesTab.versions.description.deaccessionedReason']} #{versionTab.versionNote} <ui:fragment rendered="#{!empty versionTab.archiveNote}">#{bundle['file.dataFilesTab.versions.description.beAccessedAt']} <a href="#{versionTab.archiveNote}" target="_blank">#{versionTab.archiveNote}</a></ui:fragment>
</ui:fragment>
</ui:fragment>
<p:commandLink rendered="#{(!empty(versionTab.defaultVersionDifference)) and DatasetPage.versionTabListForPostLoad.size() > (rowNum + 1)}"
actionListener="#{DatasetPage.updateVersionDifferences(versionTab, null)}"
oncomplete="PF('detailsBlocks').show();post_differences();"
update=":datasetForm"
value="#{bundle['file.dataFilesTab.versions.viewDetails.btn']}"></p:commandLink>
</p:column><!-- end: description column -->
<!-- contributor column -->
<p:column headerText="#{bundle['file.dataFilesTab.versions.headers.contributors']}" class="col-sm-2">
<ui:fragment rendered="#{!empty(versionTab.contributorNames) and !anonymized}">
<h:outputText value="#{versionTab.contributorNames}" />
</ui:fragment>
<ui:fragment rendered="#{!empty(versionTab.contributorNames) and anonymized}">
<h:outputText value="#{bundle['file.dataFilesTab.versions.headers.contributors.withheld']}" />
</ui:fragment>
</p:column><!-- end: contributor column -->
<!-- date column -->
<p:column headerText="#{bundle['file.dataFilesTab.versions.headers.published']}" class="col-sm-2">
<ui:fragment><!-- rendered="#{ !empty(versionTab) and !empty(versionTab.releaseDate) }"-->
<h:outputText id="versionDate" value="#{versionTab.publicationDateAsString}" />
</ui:fragment>
</p:column><!-- end: date column -->
<p:column headerText="#{bundle['file.dataFilesTab.versions.headers.archived']}" class="col-sm-1" rendered="#{!empty(DatasetPage.dataset.id) and permissionServiceBean.on(DatasetPage.dataset).has('ViewUnpublishedDataset') and !versionTab.isDraft() and (DatasetPage.archivable or DatasetPage.someVersionArchived or not empty(versionTab.archivalCopyLocation))}">
<ui:fragment>
<ui:fragment rendered="#{'success' eq versionTab.archivalCopyLocationStatus}">
<h:outputLink id="archived" value="#{versionTab.archivalCopyLocationMessage}" target="_blank" rendered="#{DatasetPage.isSuperUser()}">
<h:outputText value="#{bundle['file.dataFilesTab.versions.headers.archived.success']}" />
</h:outputLink>
<h:outputText value="#{bundle['file.dataFilesTab.versions.headers.archived.success']}" rendered="#{!DatasetPage.isSuperUser()}"/>
</ui:fragment>
<h:outputText value="#{bundle['file.dataFilesTab.versions.headers.archived.pending']}" rendered="#{'pending' eq versionTab.archivalCopyLocationStatus}" title="#{DatasetPage.isSuperUser() ? versionTab.archivalCopyLocationMessage : ''}"/>
<h:outputText value="#{bundle['file.dataFilesTab.versions.headers.archived.failure']}" rendered="#{'failure' eq versionTab.archivalCopyLocationStatus}" title="#{DatasetPage.isSuperUser() ? versionTab.archivalCopyLocationMessage : ''}"/>
<p:commandLink rendered="#{DatasetPage.isSuperUser() and DatasetPage.versionArchivable and empty(versionTab.archivalCopyLocation)}" update="#{p:resolveClientId('datasetForm:tabView:versionsTable', view)},:messagePanel"
action="#{DatasetPage.archiveVersion(versionTab.id)}">
<h:outputText value="#{bundle['file.dataFilesTab.versions.headers.archived.submit']}"/>
</p:commandLink>
<h:outputText value="#{bundle['file.dataFilesTab.versions.headers.archived.notarchived']}" rendered="#{ empty(versionTab.archivalCopyLocation) and ((not DatasetPage.isSuperUser() and DatasetPage.someVersionArchived) or (DatasetPage.isSuperUser() and not DatasetPage.versionArchivable))}"/>
</ui:fragment>
</p:column><!-- end: archivalCopy column -->
</p:dataTable>
<!-- / VERSIONS -->
</ui:fragment>
</ui:composition>