<?xml version="1.0" encoding="UTF-8"?>

<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:p="http://primefaces.org/ui" xmlns:pe="http://primefaces.org/ui/extensions" xmlns:e="http://www.ivu.de/elect/tags">

    <ui:param name="personendatenLeft" value="#{konfliktView.personendatenLeft}" />
    <ui:param name="personendatenLeftModelRendered" value="#{konfliktView.personendatenLeftModelRendered}" />

    <ui:param name="personendatenRight" value="#{konfliktView.personendatenRight}" />
    <ui:param name="personendatenRightModelRendered" value="#{konfliktView.personendatenRightModelRendered}" />

    <h:form id="frmKonfliktAufloesen">
        <p:panel id="ctnPersonendatenLeft" header="#{konfliktView.personendatenLeftHeader}" style="width: 48%; float: left;" styleClass="#{konfliktView.personendatenLeftStyleClass}">
            <h:outputText rendered="#{not personendatenLeftModelRendered}" value="#{msgs['personen.konflikt.dublette.aufloesen.personendaten.not.found']}" />

            <ui:fragment rendered="#{personendatenLeftModelRendered}">
                <ui:decorate template="/WEB-INF/templates/dyna-form.xhtml">
                    <ui:param name="model" value="#{konfliktView.personendatenLeftModel}" />
                </ui:decorate>
            </ui:fragment>

            <!-- NOTE, dass das Setzen des name Attributes ein Hack ist, um den Footer nur bedingt in die Seite zu schreiben. -->
            <f:facet name="#{personendatenLeftModelRendered ? 'footer' : 'DO-NOT-RENDER'}">
                <ui:insert name="personendatenLeftButtons" />

                <p:commandButton rendered="#{konfliktView.btnEditPersonendatenLeftRendered}" action="#{konfliktView.editPersonendatenLeft}" ajax="true" onclick="PF('ctnContentBlockUI').show();"
                    value="#{msgs['entity.edit.action.edit']}" />

                <p:commandButton rendered="#{konfliktView.btnDeletePersonendatenLeftRendered}" action="#{konfliktView.confirmDeletePersonendatenLeft}" ajax="true"
                    value="#{msgs['entity.edit.action.delete']}" />
            </f:facet>
        </p:panel>

        <p:panel id="ctnPersonendatenRight" header="#{konfliktView.personendatenRightHeader}" style="width: 48%; float: right;" styleClass="#{konfliktView.personendatenRightStyleClass}">
            <h:outputText rendered="#{not personendatenRightModelRendered}" value="#{msgs['personen.konflikt.dublette.aufloesen.personendaten.not.found']}" />

            <ui:fragment rendered="#{personendatenRightModelRendered}">
                <ui:decorate template="/WEB-INF/templates/dyna-form.xhtml">
                    <ui:param name="model" value="#{konfliktView.personendatenRightModel}" />
                </ui:decorate>
            </ui:fragment>

            <!-- NOTE, dass das Setzen des name Attributes ein Hack ist, um den Footer nur bedingt in die Seite zu schreiben. -->
            <f:facet name="#{personendatenRightModelRendered ? 'footer' : 'DO-NOT-RENDER'}">
                <ui:insert name="personendatenRightButtons" />

                <p:commandButton rendered="#{konfliktView.btnEditPersonendatenRightRendered}" action="#{konfliktView.editPersonendatenRight}" ajax="true" onclick="PF('ctnContentBlockUI').show();"
                    value="#{msgs['entity.edit.action.edit']}" />

                <p:commandButton rendered="#{konfliktView.btnDeletePersonendatenRightRendered}" action="#{konfliktView.confirmDeletePersonendatenRight}" ajax="true"
                    value="#{msgs['entity.edit.action.delete']}" />
            </f:facet>
        </p:panel>

        <p:panel style="clear: both;">
            <p:commandButton id="btnLoesenAlsIdentisch" rendered="#{konfliktView.btnLoesenAlsIdentischRendered}" action="#{konfliktView.loeseAlsIdentisch}" ajax="false"
                onclick="PF('ctnContentBlockUI').show();" value="#{konfliktView.btnLoesenAlsIdentischLabel}" />

            <p:commandButton id="btnLoesenAlsVerschieden" rendered="#{konfliktView.btnLoesenAlsVerschiedenRendered}" action="#{konfliktView.loeseAlsVerschieden}" ajax="false"
                onclick="PF('ctnContentBlockUI').show();" value="#{konfliktView.btnLoesenAlsVerschiedenLabel}" />

            <p:commandButton id="btnSkip" rendered="#{konfliktView.btnSkipRendered}" action="#{konfliktView.skip}" ajax="false" onclick="PF('ctnContentBlockUI').show();"
                value="#{msgs['personen.konflikt.aufloesen.action.skip']}" />

            <p:commandButton id="btnCancel" rendered="#{konfliktView.btnCancelRendered}" action="#{konfliktView.cancel}" ajax="false" immediate="true" onclick="PF('ctnContentBlockUI').show();" value="#{msgs['entity.edit.action.cancel']}" styleClass="ui-button--flat" />
        </p:panel>
    </h:form>

    <ui:insert />

    <e:modalDialogDelete dialogName="#{konfliktView.dlgDeletePersonendatenLeftName}">
        <h:outputText value="#{konfliktView.dlgDeletePersonendatenLeftMessage}" />

        <ui:define name="btnDelete">
            <p:commandButton rendered="#{konfliktView.btnDeletePersonendatenLeftRendered}" action="#{konfliktView.deletePersonendatenLeft}" ajax="false" value="#{msgs['entity.edit.action.delete']}" />
        </ui:define>
    </e:modalDialogDelete>

    <e:modalDialogDelete dialogName="#{konfliktView.dlgDeletePersonendatenRightName}">
        <h:outputText value="#{konfliktView.dlgDeletePersonendatenRightMessage}" />

        <ui:define name="btnDelete">
            <p:commandButton rendered="#{konfliktView.btnDeletePersonendatenRightRendered}" action="#{konfliktView.deletePersonendatenRight}" ajax="false" value="#{msgs['entity.edit.action.delete']}" />
        </ui:define>
    </e:modalDialogDelete>
</ui:composition>
