office-dynamixs-ai/dynamixs-ai-app/docker/deployments/dynamixs-ai.war/pages/notes_board.xhtml
2025-05-31 14:46:56 +02:00

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}&amp;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']}&amp;workflowgroup=#{category.workflowGroup}&amp;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>