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

162 lines
No EOL
6.1 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:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:marty="http://xmlns.jcp.org/jsf/composite/marty" xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
xmlns:pt="http://xmlns.jcp.org/jsf/passthrough" template="/layout/template.xhtml">
<h:head>
<!-- support deep link for workitems to be loaded by the WorkflowController (optional params 'id' and 'workitem' supported) -->
<f:metadata>
<f:viewAction action="#{workflowController.onLoad()}" />
</f:metadata>
</h:head>
<ui:define name="scripts">
<script type="text/javascript"
src="#{facesContext.externalContext.requestContextPath}/js/imixs-office.workitem.js?build=#{app.application_build_timestamp}"></script>
<script type="text/javascript"
src="#{facesContext.externalContext.requestContextPath}/js/imixs-office.workitem.custom.js?build=#{app.application_build_timestamp}"></script>
<!-- Imixs-Adapter-Wopi integration -->
<ui:fragment rendered="#{wopiController!=null and wopiController.enabled}">
<link
href="#{facesContext.externalContext.requestContextPath}/layout/css/office-theme-wopi.css?build=#{app.application_build_timestamp}"
type="text/css" rel="stylesheet" />
<script type="text/javascript"
src="#{facesContext.externalContext.requestContextPath}/js/imixs-wopi.js?build=#{app.application_build_timestamp}"></script>
<script type="text/javascript"
src="#{facesContext.externalContext.requestContextPath}/js/imixs-office.workitem.wopi.js?build=#{app.application_build_timestamp}"></script>
</ui:fragment>
<script type="text/javascript">
/*<![CDATA[*/
// set workitem uid
imixsOfficeMain.workitem_uid = "#{workflowController.workitem.uniqueID}";
imixsOfficeMain.workitem_model = "#{workflowController.workitem.modelVersion}";
imixsOfficeMain.document_preview = #{ propertyController.getProperty('feature.document.preview', 'true') };
// Redirect if no workitem model version is defined
if (!imixsOfficeMain.workitem_model) {
document.location = imixsOfficeMain.contextPath
+ "/pages/notes.jsf";
}
/*]]>*/
</script>
</ui:define>
<ui:define name="content">
<!-- Documentinfo: $UniqueID= #{workflowController.workitem.item['$uniqueid']}-->
<f:view>
<h:form id="workitem_form" pt:autocomplete="on" enctype="multipart/form-data">
<marty:userSearch />
<ui:include src="/pages/workitems/parts/workitemlinkSearch.xhtml" />
<!-- Dummy button to avoid hit enter to submit form other input fields.. -->
<button type="submit" onclick="return false;" style="display:none;"></button>
<!-- Imixs-ML/AI integration -->
<ui:fragment rendered="#{mlController!=null}">
<ui:include src="/pages/workitems/workitem-ml.xhtml">
<ui:param name="workitem" value="#{workflowController.workitem}" />
</ui:include>
</ui:fragment>
<ui:fragment rendered="#{llmSuggestController!=null}">
<ui:include src="/pages/workitems/workitem-llm.xhtml">
<ui:param name="workitem" value="#{workflowController.workitem}" />
</ui:include>
</ui:fragment>
<div class="imixs-workitem">
<!-- Workitem Main Form -->
<div class="imixs-workitem-form">
<!-- Imixs-Adapter-Wopi integration -->
<ui:fragment rendered="#{wopiController!=null}">
<script type="text/javascript">
/*<![CDATA[*/
imixsOfficeWorkitem.registerSaveWorkitemListener(workitemSaveCallback);
dialogActionConfirm = "#{message.wopi_ok}";
dialogActionCancel = "#{message.wopi_cancel}";
/*]]>*/
</script>
<div style="display: none;" class="imixs-form" id="wopi_controlls">
<span class="wopi-filename" id="wopi_header_filename_id"></span>
<span class="wopi-action-bar">
<!-- nav -->
<span onclick="imixsWopi.switchToFullScreen(); return false;"
title="#{message.fullscreen}"
class="wopi-action typcn typcn-arrow-maximise"></span>
<span onclick="closeWopiViewer('#{message.discard_changes}'); return false;"
title="#{message.close}" class="wopi-action typcn typcn-times-outline"></span>
</span>
</div>
<div id="wopi_canvas" style="display: none;"></div>
<!-- confirm close alert -->
<div id="wopi-save-dialog" title="#{message.wopi_confirm_title}">
<h:outputText escape="false" value="#{message.wopi_confirm_message}"></h:outputText>
</div>
</ui:fragment>
<div class="imixs-form-plane">
<div class="imixs-form" id="imixs_workitem_form_id">
<div class="imixs-header">
<ui:include src="/pages/workitems/workitem_header.xhtml" />
</div>
<h:panelGroup layout="block" styleClass="imixs-body" id="formComponents"
binding="#{formComponents}">
<ui:include
src="/pages/workitems/forms/#{formController.formDefinition.path}.xhtml" />
</h:panelGroup>
</div>
<div class="imixs-document">
<h1>
<span class="document-title"></span>
<!-- nav -->
<span class="document-nav pull-right"> <a href="#" class="document-deeplink"
target="_download"><span class="typcn typcn-arrow-maximise"></span></a>
<span onclick="imixsOfficeWorkitem.closeDocumentPreview()"
class="typcn typcn-times-outline"></span>
</span>
</h1>
<!-- document preview -->
<iframe id="imixs_document_iframe" src="" width="100%" height="100%"></iframe>
</div>
</div>
</div>
<div class="imixs-slider">
<div class="imixs-slider-nav">
<span onclick="imixsOfficeWorkitem.expandChronicle()"
class="typcn typcn-media-play-reverse expand"></span>
<span onclick="imixsOfficeWorkitem.shrinkChronicle()"
class="typcn typcn-media-play shrink"></span>
</div>
</div>
<!-- Workflow and Chronicle -->
<div class="imixs-workitem-chronicle">
<ui:include src="/pages/workitems/workitem_chronicle.xhtml" />
</div>
</div>
</h:form>
</f:view>
</ui:define>
<!-- no footer -->
<ui:define name="footer">
</ui:define>
</ui:composition>