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

184 lines
5.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: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:marty="http://xmlns.jcp.org/jsf/composite/marty"
xmlns:i="http://xmlns.jcp.org/jsf/composite/imixs"
template="/layout/template.xhtml">
<ui:define name="content">
<f:view>
<script type="text/javascript">
/*<![CDATA[*/
function updateStatustPanel(data) {
if (data.status === 'success') {
// select with wildcard operator
$('[id$=status_panel]').imixsLayout();
}
}
/*]]>*/
</script>
<h:form>
<div class="imixs-form">
<div class="imixs-header">
<h1>Workflow Scheduler</h1>
</div>
<div class="imixs-body">
<!-- **** General info ***** -->
<div class="imixs-form-panel">
<h1>Timer Settings</h1>
<h:inputTextarea required="false"
converter="org.imixs.VectorConverter"
style="height: 8em; width: 100%;"
value="#{workflowSchedulerController.configuration.itemList['_scheduler_definition']}">
</h:inputTextarea>
</div>
<!-- **** Timer Status ***** -->
<div class="imixs-form-panel">
<h:panelGroup layout="block" id="timer_details"
class="imixs-form-section">
<h1>
<h:outputText id="timer_status"
value="Timer Status ⇢ #{workflowSchedulerController.configuration.item['_scheduler_status']}" />
<h:panelGroup
rendered="#{! empty workflowSchedulerController.configuration.item['_scheduler_errormessage']}"
class="small" style="color:red">
<br />Error: #{workflowSchedulerController.configuration.item['_scheduler_errormessage']}
</h:panelGroup>
</h1>
<h:panelGrid columns="2">
<h:panelGroup layout="block" style="width:100px;">
<h:outputLabel value="ID: " />
</h:panelGroup>
<h:panelGroup>
<h:outputText
value="#{workflowSchedulerController.configuration.item['$UniqueID']}" />
</h:panelGroup>
<h:outputLabel value="Schedule: " />
<h:outputText
value="#{workflowSchedulerController.configuration.item['Schedule']}" />
<h:outputLabel value="Next Timeout: " />
<h:panelGroup>
<h:outputText
value="#{workflowSchedulerController.configuration.item['nextTimeout']}"
rendered="#{! empty workflowSchedulerController.configuration.item['nextTimeout']}">
<f:convertDateTime timeZone="#{message.timeZone}" type="both"
pattern="#{message.dateTimePattern}" />
</h:outputText>
<h:outputText value=" " />
</h:panelGroup>
<h:outputLabel value="TimeRemaining: " />
<h:outputText
value="#{workflowSchedulerController.millisToShortDHMS(workflowSchedulerController.configuration.item['timeRemaining'])}" />
</h:panelGrid>
<h:outputLabel value="Last Run: " />
<h:panelGroup layout="block"
class="ui-state-highlight ui-corner-all" style="padding: .5em;">
<ui:fragment
rendered="#{! empty workflowSchedulerController.configuration.item['_scheduler_logmessage']}">
<ui:repeat var="logentry"
value="#{workflowSchedulerController.configuration.itemList['_scheduler_logmessage']}">
<h:outputText escape="false" value="#{logentry}" />
<br />
</ui:repeat>
</ui:fragment>
<ui:fragment
rendered="#{empty workflowSchedulerController.configuration.item['_scheduler_logmessage']}">
No Data.
</ui:fragment>
</h:panelGroup>
</h:panelGroup>
<hr />
<!-- Timer Actions -->
<h:commandButton value="#{message.refresh}"
actionListener="#{workflowSchedulerController.refresh}">
<f:ajax render="timer_details timer_status" />
</h:commandButton>
<h:commandButton
actionListener="#{workflowSchedulerController.startScheduler}"
value="start">
</h:commandButton>
<h:commandButton
actionListener="#{workflowSchedulerController.stopScheduler}"
value="stop">
</h:commandButton>
<h:commandButton
actionListener="#{workflowSchedulerController.restartScheduler}"
value="restart">
</h:commandButton>
<hr />
</div>
</div>
<div class="imixs-footer">
<h:outputLabel value="#{message.modified}: " />
<h:outputText
value="#{workflowSchedulerController.configuration.item['$modified']}">
<f:convertDateTime timeZone="#{message.timeZone}" type="both"
pattern="#{message.dateTimePattern}" />
</h:outputText>
<br />
<h:commandButton
actionListener="#{workflowSchedulerController.saveConfiguration()}"
value="#{message.save}">
</h:commandButton>
<h:commandButton value="#{message.close}" action="notes" />
</div>
</div>
</h:form>
</f:view>
</ui:define>
</ui:composition>