This repository has been archived by the owner on Nov 9, 2017. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 57
/
version_group.xhtml
136 lines (116 loc) · 6.84 KB
/
version_group.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
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:s="http://jboss.com/products/seam/taglib"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j"
template="../WEB-INF/layout/template.xhtml">
<ui:define name="page_title">#{messages['jsf.Groups']}:#{versionGroupHome.instance.name}</ui:define>
<ui:define name="head">
<script type="text/javascript">
function submitSearchOnEnter(e)
{
if(e.keyCode == 13 )
{
#{rich:element('searchBtn')}.click();
return false;
}
}
</script>
</ui:define>
<ui:define name="center_content">
<a4j:form>
<rich:jQuery selector="#tab_version_groups" query="addClass('ui-tabs-selected')" />
<h1>#{messages['jsf.GroupId']}: #{versionGroupHome.instance.slug}</h1>
<s:formattedText value="#{versionGroupHome.instance.description}" rendered="#{!empty versionGroupHome.instance.description}"/>
<rich:dataTable id="iterationsDataTable" value="#{versionGroupHome.instanceProjectIterations}"
var="_iteration">
<rich:column sortBy="#{_iteration.project.slug}">
<f:facet name="header">#{messages['jsf.ProjectName']}</f:facet>
<s:link view="/project/view/#{_iteration.project.slug}" styleClass="table_link">
#{_iteration.project.name}
</s:link>
</rich:column>
<rich:column sortBy="#{_iteration.slug}">
<f:facet name="header">#{messages['jsf.Version']}</f:facet>
<s:link view="/iteration/view/#{_iteration.project.slug}/#{_iteration.slug}" styleClass="table_link">
#{_iteration.slug}
</s:link>
</rich:column>
<rich:column rendered="#{s:hasPermission(versionGroupHome.instance, 'update')}" styleClass="centered">
<f:facet name="header">#{messages['jsf.Actions']}</f:facet>
<a4j:commandButton value="#{messages['jsf.Remove']}"
action="#{versionGroupAction.leaveVersionGroup(_iteration.id)}" reRender="iterationsDataTable, versionAddPanel" />
</rich:column>
</rich:dataTable>
</a4j:form>
</ui:define>
<ui:define name="left_content">
<rich:panel id="loggedIn" rendered="#{identity.loggedIn and s:hasPermission(versionGroupHome.instance, 'update')}">
<f:facet name="header">#{messages['jsf.Actions']}</f:facet>
<a href="#" class="action_link" onclick="#{rich:component('versionAddPanel')}.show()">#{messages['jsf.AddProjectVersions']}</a>
<s:link styleClass="action_link" value="#{messages['jsf.EditGroup']}" view="/version-group/edit.xhtml" propagation="none">
<f:param name="slug" value="#{versionGroupHome.instance.slug}"/>
</s:link>
<s:link styleClass="action_link" view="/version-group/assign_maintainer.xhtml" value="#{messages['jsf.ManageMaintainers']}" propagation="none">
<f:param name="slug" value="#{versionGroupHome.instance.slug}"/>
</s:link>
</rich:panel>
<rich:panel>
<f:facet name="header">#{messages['jsf.GroupMaintainers']}</f:facet>
<h:outputText rendered="#{empty versionGroupHome.instance.maintainers}">#{messages['jsf.NoMaintainersDefined']}</h:outputText>
<rich:dataList value="#{versionGroupHome.instance.maintainers.toArray()}" var="maintainer">
<h:outputText value="#{maintainer.name}"/>
</rich:dataList>
</rich:panel>
<rich:modalPanel id="versionAddPanel" width="530" height="320" autosized="true">
<f:subview id="projectVersionSearch">
<a4j:form>
<h1>Find Project Version</h1>
<p>
<h:inputText value="#{versionGroupAction.searchTerm}"
onkeydown="return submitSearchOnEnter(event)"/>
<a4j:commandButton id="searchBtn"
value="#{messages['jsf.Search']}"
action="#{versionGroupAction.searchProjectAndVersion}"
reRender="searchResults"
status="searchStatus" />
<h:commandButton value="#{messages['jsf.Close']}"
onclick="#{rich:component('versionAddPanel')}.hide(); return false;" />
</p>
</a4j:form>
<a4j:region>
<a4j:status id="searchStatus" startText="Searching..." stopText="" />
<a4j:outputPanel id="searchResults" layout="block" style="overflow:auto;">
<h:outputText id="noResultsMessage" rendered="#{empty versionGroupAction.searchResults}" value="No results to display." />
<h:form rendered="#{not empty versionGroupAction.searchResults}">
<rich:dataTable id="resultTable"
value="#{versionGroupAction.searchResults}" var="projectIteration">
<f:facet name="header">#{messages['jsf.SearchResults']}</f:facet>
<rich:column sortBy="#{projectIteration.project.name}">
<f:facet name="header">#{messages['jsf.ProjectName']}</f:facet>
#{projectIteration.project.name}
</rich:column>
<rich:column sortBy="#{projectIteration.slug}">
<f:facet name="header">#{messages['jsf.Version']}</f:facet>
#{projectIteration.slug}
</rich:column>
<rich:column styleClass="centered">
<f:facet name="header">#{messages['jsf.Actions']}</f:facet>
<a4j:commandButton value="#{messages['jsf.Add']}"
action="#{versionGroupAction.joinVersionGroup(projectIteration.id)}"
rendered="#{!versionGroupAction.isVersionInGroup(projectIteration.id)}" reRender="searchResults, iterationsDataTable" />
<h:outputText value="#{messages['jsf.AlreadyInGroup']}"
rendered="#{versionGroupAction.isVersionInGroup(projectIteration.id)}" />
</rich:column>
</rich:dataTable>
</h:form>
</a4j:outputPanel>
</a4j:region>
</f:subview>
</rich:modalPanel>
</ui:define>
</ui:composition>