<?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:e="http://www.ivu.de/elect/tags">

    <!--@elvariable id="msgs" type="de.ivu.elect.business.lokalisierung.control.LokalisierungResourceBundle"-->

    <!--@elvariable id="backingView" type="de.ivu.elect.presentation.exchange.AbstractImportBestaetigenView"-->

    <ui:param name="mehrzahlMessage" value="#{backingView.getMetaForEntity().mehrzahlMessage}" />
    <ui:param name="importReport" value="#{backingView.getImportReport()}" />

    <e:outputPanel deferred="true">
        <!--  Dadurch werden seitenspezifische FacesMessages angezeigt, siehe auch ELECT-2244 -->
        #{backingView.checkImportReportContainsViolations()}
    <h:form id="frmImportBestaetigen">
        <p:panel id="ctnHeaderFileInfo">
            <e:inputText id="outDateinameInfo" disabled="true" value="#{backingView.getSelectedEntity().datei.originalDateiname}" label="#{dateiMeta.originalDateinameEinzahlMessage}" />
            <e:inputText id="outFormatInfo" disabled="true" value="#{backingView.fileFormatLokalisiert}" label="#{dateiMeta.formatEinzahlMessage}" />

            <e:inputText id="importOptionAuswahlReadonly" rendered="#{backingView.singleImportOptionsAuswahl}" disabled="true" readonly="true" value="#{messages.lokalisiere(backingView.importOptions)}"
                label="#{msgs['datei.import.edit.action.import.option']}" />
            <e:selectOneMenu id="importOptionAuswahl" rendered="#{backingView.multipleImportOptionsAuswahl}" required="true" value="#{backingView.importOptions}" label="#{msgs['datei.import.edit.action.import.option']}">
                <f:selectItems value="#{backingView.importOptionsAuswahl}" var="auswahl" itemLabel="#{messages.lokalisiere(auswahl)}" />
            </e:selectOneMenu>

            <ui:insert name="preImportReport" />
        </p:panel>

        <!-- NOTE, dass die ID 'ctnButtons' im Template /wus-common-war/src/main/webapp/WEB-INF/templates/ergebnis/ergebnis-import-bestaetigen-pre-import-report.xhtml
             referenziert wird und ggf. auch dort zu anzupassen ist!!! -->
        <p:panel id="ctnButtons">
            <ui:fragment rendered="#{backingView.getSelectedEntity().importierenMoeglich}">
                <p:commandButton id="btnImportieren" rendered="#{not backingView.isConfirmationForImportNeeded()}" disabled="${backingView.btnImportierenDisabled}" action="#{backingView.importieren}" ajax="false"
                    icon="#{icons.iconImport}" value="#{msgs['datei.import.edit.action.import']}" onclick="PF('ctnContentBlockUI').show();" />
            </ui:fragment>

            <ui:fragment rendered="#{backingView.getSelectedEntity().importierenMoeglich}">
                <p:commandButton id="btnImportierenShow" rendered="#{backingView.isConfirmationForImportNeeded()}" disabled="#{backingView.isBtnImportierenDisabled()}"
                    oncomplete="PF('ctnContentBlockUI').hide();PF('dlgDeleteConfirmWidget').show()" update=":frmDeleteConfirm" ajax="true" icon="#{icons.iconImport}" value="#{msgs['datei.import.edit.action.import']}"
                    onclick="PF('ctnContentBlockUI').show();" />
            </ui:fragment>

            <p:commandButton id="btnRefresh" rendered="#{backingView.isRefreshRendered()}" ajax="false" icon="#{icons.iconRefresh}" action="#{backingView.refresh}" value="#{msgs['entity.search.action.apply']}" onclick="PF('ctnContentBlockUI').show();" />

            <p:commandButton id="btnEditFormatFestlegen" icon="#{icons.iconEdit}" rendered="#{backingView.isBtnEditFormatFestlegenRendered()}" title="#{msgs['datei.import.edit.action.format.festlegen']}"
                action="#{backingView.importFormatFestlegen}" value="#{msgs['datei.import.edit.action.format.aendern']}" immediate="true" />

            <p:commandButton id="btnEditComment" icon="#{icons.iconClose}" title="#{msgs['entity.edit.action.comment']}" value="#{msgs['datei.import.edit.action.refuse']}" oncomplete="PF('dlgEditKommentarWidget').show()"
                update=":frmEditKommentar" immediate="true" rendered="#{backingView.ablehnenRendered}"/>

            <p:commandButton id="btnCancel" action="#{backingView.cancel}" ajax="false" value="#{msgs['entity.edit.action.cancel']}" styleClass="ui-button--flat" immediate="true" />

            <ui:insert name="additionalButtons" />
        </p:panel>

        <p:panel id="frmImportReport" rendered="#{backingView.showVorschau}" header="#{msgs['datei.import.bestaetigen.import.report.legend']}">
            <p:fieldset rendered="#{backingView.showDatenbank}" legend="#{msgs['datei.import.bestaetigen.import.report.legend.datenbank']}">
                <e:inputText id="outGesamtDbVorher" disabled="true" label="#{interpolator.interpolate('datei.import.bericht.gesamt.in.db.vorher', mehrzahlMessage)}" value="#{importReport.nurInDatenbank + importReport.inDateiUndInDatenbank}" />

                <e:inputText id="outGesamtDbNachher" disabled="true" label="#{interpolator.interpolate('datei.import.bericht.gesamt.in.db.nachher', mehrzahlMessage)}" value="#{importReport.inDatenbankNachher}" />

                <ui:param name="importReport" value="#{backingView.importReport}" />

	            <e:chartPieChart id="chartImportReport" rendered="#{backingView.pieChartModelRendered}" model="#{backingView.pieChartModel}" />
            </p:fieldset>

            <p:fieldset rendered="#{backingView.showViolations}" legend="#{msgs['datei.import.bestaetigen.import.report.legend.errors']}">
                <e:selectBooleanCheckbox id="btnAlleViolationsAnzeigen" rendered="#{backingView.isBtnAlleViolationsAnzeigenRendered()}" value="#{violationsBeimImportAnzeigen.restrictMaxCountOfViolations}" label="#{msgs['datei.import.nicht.alle.violations.anzeigen']}" />

                <p:dataTable id="tblViolationResult" rendered="#{not empty backingView.getViolations()}" value="#{backingView.getViolations()}" var="violation" rowIndexVar="rowIndexZeroBased" styleClass="#{backingView.errorStyleClass}">
                    <e:basicColumns entity="#{violation}" columnBuilder="#{violationColumnBuilder}" />
                </p:dataTable>
            </p:fieldset>

            <p:fieldset rendered="#{backingView.showDatei}" legend="#{msgs['datei.import.bestaetigen.import.report.legend.datei']}">
                <!-- Redundant, steht oben bereits <e:inputText id="outDateiname" disabled="true" value="#{backingView.getSelectedEntity().datei.originalDateiname}" label="#{dateiMeta.originalDateinameEinzahlMessage}" />-->

                <e:inputText id="outGesamtDatei" disabled="true" label="#{interpolator.interpolate('datei.import.bericht.gesamt.in.datei', mehrzahlMessage)}" value="#{importReport.nurInDatei + importReport.inDateiUndInDatenbank}" />
            </p:fieldset>

            <ui:insert name="postImportReport" />

            <p:fieldset rendered="#{backingView.isShowImportBericht()}" legend="#{msgs['datei.import.bestaetigen.import.report.legend.details']}">
                <p:dataList id="bericht-2" rendered="#{backingView.isShowImportBericht()}" value="#{backingView.getBericht()}" var="line" emptyMessage="#{msgs['component.data.table.empty.message']}" styleClass="lncode">
                    <h:outputText value="#{line}" />
                </p:dataList>
            </p:fieldset>
        </p:panel>
    </h:form>
    </e:outputPanel>

    <e:modalDialog dialogName="EditKommentar" header="#{msgs['entity.edit.action.comment']}">
            <p:panel id="ctnEditKommentar" rendered="#{backingView.isEntitySelected()}">
                <!-- ELECT-2462: backingView.selectedEntity durch dateiImportConversationSelect.getEntity() ersetzt - sonst knallts mit JBoss 7.1.3 -->
                <e:inputTextarea id="inputKommentar" maxlength="#{dateiImportMeta.kommentarMaxLength}" label="#{msgs['entity.edit.action.comment']}" value="#{dateiImportConversationSelect.entity.kommentar}" />

                <f:facet name="footer">
                    <p:commandButton id="btnOkDlg1" value="#{msgs['datei.import.edit.action.refuse']}" action="#{backingView.ablehnen}" />

                    <p:commandButton id="btnCancelDlg1" onclick="PF('dlgEditKommentarWidget').hide()" value="#{msgs['entity.edit.action.cancel']}" styleClass="ui-button--flat" />
                </f:facet>
            </p:panel>
    </e:modalDialog>

    <e:modalDialog dialogName="DeleteConfirm" header="#{msgs['datei.import.edit.action.import.delete']}">
            <p:panel id="ctnDeleteConfirm" rendered="#{backingView.isEntitySelected()}">
                <h:outputFormat value="#{msgs['datei.import.edit.action.import.delete.confirm.message']}" />

                <f:facet name="footer">
                    <p:commandButton id="btnOkDlg2" action="#{backingView.importieren}" ajax="false" immediate="true" value="#{msgs['datei.import.edit.action.import.delete']}" />

                    <p:commandButton id="btnCancelDlg2" onclick="PF('dlgDeleteConfirmWidget').hide()" value="#{msgs['entity.edit.action.cancel']}" styleClass="ui-button--flat" />
                </f:facet>
            </p:panel>
    </e:modalDialog>
</ui:composition>
