180 lines
No EOL
7.6 KiB
HTML
180 lines
No EOL
7.6 KiB
HTML
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
|
|
xmlns:f="http://xmlns.jcp.org/jsf/core"
|
|
xmlns:h="http://xmlns.jcp.org/jsf/html"
|
|
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
|
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
|
|
xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"
|
|
xmlns:fn="http://xmlns.jcp.org/jsp/jstl/functions"
|
|
xmlns:marty="http://xmlns.jcp.org/jsf/composite/marty"
|
|
xmlns:a="http://xmlns.jcp.org/jsf/passthrough"
|
|
xmlns:i="http://xmlns.jcp.org/jsf/composite/imixs"
|
|
template="/layout/template.xhtml">
|
|
|
|
<ui:define name="content">
|
|
<f:view>
|
|
<script type="text/javascript">
|
|
/*<![CDATA[*/
|
|
$(document).ready(
|
|
function() {
|
|
// set navigation cookie
|
|
document.cookie = "imixs.office.navigation=/pages/notes_board.jsf?processref=#{boardController.processRef}&page=#{boardController.pageIndex}&phrase=#{boardController.phraseEncoded};path=#{facesContext.externalContext.requestContextPath}/";
|
|
// refresh portlets every 5 minutes
|
|
setInterval(function() {
|
|
$(".imixs-portlet-refresh").click()
|
|
}, 300000);
|
|
|
|
|
|
$("input.search_input").on('keypress',function(e) {
|
|
if(e.which == 13) {
|
|
e.preventDefault(); //stop event
|
|
// simulate click on search_action
|
|
$("[data-id='search_action']").click();
|
|
}
|
|
});
|
|
});
|
|
|
|
/*]]>*/
|
|
</script>
|
|
<h:form>
|
|
|
|
<h:panelGroup styleClass="imixs-board" layout="block" id="portlet_board">
|
|
|
|
<div class="imixs-header">
|
|
<h1>
|
|
<!-- notes -->
|
|
<h:link outcome="/pages/notes">
|
|
<span class="typcn typcn-home-outline"></span>
|
|
</h:link>
|
|
#{boardController.title}
|
|
<!-- Search box -->
|
|
<h:panelGroup styleClass="search" id="search_box">
|
|
<h:inputText a:data-id="input_phrase" pt:placeholder="#{message.search}..." styleClass="search_input"
|
|
value="#{searchController.searchFilter.item['phrase']}" /><h:commandLink a:data-id="search_action"
|
|
action="#{boardController.refreshSearch()}"><f:ajax render="@form" execute="@form" /><span class="typcn typcn-zoom" style="margin-left:4px;"></span>
|
|
</h:commandLink>
|
|
<span class="extended-search">
|
|
<h:link outcome="/pages/workitems/worklist?processref=#{boardController.processRef}">#{message['nav.search_extended']}<span class="typcn typcn-zoom-in" style="margin-left:4px;"></span></h:link>
|
|
</span>
|
|
<span class="extended-search">
|
|
<h:link outcome="/pages/workitems/worklist?processref=#{boardController.processRef}&archive=true">#{message['nav.search_archive']}<span class="typcn typcn-archive" style="margin-left:4px;"></span></h:link>
|
|
</span>
|
|
<span class="extended-search">
|
|
<ui:param name="process" value="#{teamController.getProcessById(boardController.processRef)}" />
|
|
<h:link rendered="#{process.item['isManager']}" outcome="/pages/monitoring_board?processref=#{boardController.processRef}"><span class="typcn typcn-chart-pie-outline"></span></h:link>
|
|
</span>
|
|
</h:panelGroup>
|
|
|
|
<!-- navigation -->
|
|
<h:panelGroup layout="" styleClass="pull-right"
|
|
id="portlet_worklist_nav">
|
|
|
|
<!-- refresh -->
|
|
<h:commandLink title="#{message.refresh}"
|
|
action="#{boardController.refreshSearch()}"><f:ajax render="@form" execute="@form" /><span class="typcn typcn-arrow-sync"></span>
|
|
</h:commandLink>
|
|
|
|
<!-- prev -->
|
|
<h:commandLink disabled="#{boardController.pageIndex == 0}"
|
|
action="#{boardController.getPrev()}"><f:ajax render="@form" execute="@form" /><span
|
|
class="typcn #{(boardController.pageIndex == 0)?'typcn-media-rewind-outline':'typcn-media-rewind'}"></span>
|
|
</h:commandLink>
|
|
<!-- show page numbers... -->
|
|
<c:forEach begin="0" end="#{boardController.pageMax-1}" varStatus="loop">
|
|
<h:commandLink rendered="#{loop.index ne boardController.pageIndex}"
|
|
action="#{boardController.getPage(loop.index)}"><f:ajax render="@form" execute="@form" /><span style="margin:0 4px 0 4px;font-size:0.65em;">#{loop.index+1}</span>
|
|
</h:commandLink>
|
|
<h:outputText style="margin:0 4px 0 4px;font-size:0.75em;font-weight:bold;" rendered="#{loop.index eq boardController.pageIndex}" value="#{loop.index+1}"/>
|
|
</c:forEach>
|
|
<!-- next -->
|
|
<h:commandLink disabled="#{boardController.endOfList}"
|
|
action="#{boardController.getNext()}"><f:ajax render="@form" execute="@form" /><span class="typcn #{(boardController.endOfList)?'typcn-media-fast-forward-outline':'typcn-media-fast-forward'}"></span>
|
|
</h:commandLink>
|
|
</h:panelGroup>
|
|
</h1>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="imixs-body">
|
|
<section>
|
|
<ui:repeat var="category" value="#{boardController.categories}">
|
|
<!-- Category Box -->
|
|
<h:panelGroup id="portlet_worklist" layout="block"
|
|
class="imixs-portlet">
|
|
|
|
<h:panelGroup id="portlet_worklist_header" layout="block"
|
|
class="imixs-header">
|
|
<div align="right" style="float: right;">
|
|
|
|
<!-- prev -->
|
|
<h:commandLink
|
|
actionListener="#{boardController.doLoadPrev(category)}"
|
|
styleClass="imixs-portlet-prev" title="#{message.prev}"
|
|
disabled="#{(empty boardController.categories) or (category.pageIndex == 0)}">
|
|
<span
|
|
class="typcn #{(category.pageIndex == 0)?'typcn-media-rewind-outline':'typcn-media-rewind'}"></span>
|
|
<f:ajax render="portlet_worklist"
|
|
onevent="function(data) { imixsOfficeMain.layoutAjaxEvent(data, '#{component.parent.parent.clientId}') }" />
|
|
</h:commandLink>
|
|
|
|
<!-- next -->
|
|
<h:commandLink
|
|
actionListener="#{boardController.doLoadNext(category)}"
|
|
styleClass="imixs-portlet-next" title="#{message.next}"
|
|
disabled="#{boardController.isEndOfList(category)}">
|
|
<span
|
|
class="typcn #{(boardController.isEndOfList(category))?'typcn-media-fast-forward-outline':'typcn-media-fast-forward'}"></span>
|
|
<f:ajax render="portlet_worklist"
|
|
onevent="function(data) { imixsOfficeMain.layoutAjaxEvent(data, '#{component.parent.parent.clientId}') }" />
|
|
</h:commandLink>
|
|
</div>
|
|
|
|
<!-- Title -->
|
|
<h:panelGroup>
|
|
<ul>
|
|
<li class="active">
|
|
<h:link style="text-decoration:none;"
|
|
outcome="/pages/workitems/worklist?processref=#{process.item['$uniqueId']}&workflowgroup=#{category.workflowGroup}&task=#{category.workflowStatus}"
|
|
title="#{message['nav.search_extended']}">
|
|
<h:outputText value="#{category.workflowGroup} / #{category.workflowStatus}" />
|
|
<span class="typcn typcn-zoom-outline" style="xmargin-left:8px;"></span>
|
|
</h:link>
|
|
</li>
|
|
</ul>
|
|
</h:panelGroup>
|
|
</h:panelGroup>
|
|
|
|
|
|
<!-- Portlet Body -->
|
|
<h:panelGroup id="portlet_worklist_body" layout="block"
|
|
class="imixs-body">
|
|
|
|
<!-- **** Workitems ***** -->
|
|
<ui:repeat var="workitem"
|
|
value="#{boardController.getWorkitems(category)}">
|
|
<ui:include src="portlet_worklist_viewentry.xhtml">
|
|
<ui:param name="workitem" value="#{workitem}" />
|
|
</ui:include>
|
|
</ui:repeat>
|
|
|
|
<h3>
|
|
<h:outputText rendered="#{empty boardController.getWorkitems(category)}"
|
|
value="#{message.empty_worklist}" />
|
|
</h3>
|
|
</h:panelGroup>
|
|
</h:panelGroup>
|
|
</ui:repeat>
|
|
</section>
|
|
</div>
|
|
|
|
<div class="imixs-footer">
|
|
</div>
|
|
|
|
</h:panelGroup>
|
|
|
|
</h:form>
|
|
</f:view>
|
|
</ui:define>
|
|
</ui:composition> |