Hi,
ich habe eine Seite mit einem FileUpload:
Den FileUpload habe ich (denke ich) so gebaut, wie hier beschrieben: StackOverflow
Trotzdem wird das pe:blockUI nicht eingeblendet.
Das p:blockUI, welches beim Abschluss auftauchen soll, das kommt. Aber beim FileUpload tut er sich irgendwie schwer.
Ich brauche den Block, weil mit den Daten beim Import einiges gemacht wird und ich den User nicht Minutenlang auf eine Seite starren lassen will, in der Hoffnung, dass etwas passiert.
In der Konsole kommen keine JS Fehler.
ich habe eine Seite mit einem FileUpload:
Java:
<div class="card">
<h:form id="hwImportWizardFrm">
<p:growl id="messages" sticky="false" showDetail="true" escape="false" />
<p:panel id="wizardPnl">
<p:wizard flowListener="#{hwimportwiz.onFlowProcess}" backLabel="Zurück" nextLabel="Weiter" effect="slide" effectDuration="250">
<p:tab id="command" title="Command" titleStyleClass="#{hwimportwiz.loggedIn ? 'comLogin' : 'comNotLogin'}">
<p:panel id="logindaten" header="Logindaten">
</p:panel>
</p:tab>
<p:tab id="file" title="Datei">
<p:panel id="quelldaten" header="Quelldaten">
<p:messages />
<h:panelGrid columns="2" columnClasses="label, value">
<h:outputText value="Auswahl" />
<p:fileUpload label="Datei auswahl" mode="simple" multiple="false" auto="true" allowTypes="/(\.|\/)(xlsx?m?|csv)$/"
invalidFileMessage="nur xls | xlsx | csv | erlaubt" update="messages quelldaten"
listener="#{hwimportwiz.handleFileUpload}" skinSimple="true" id="fileUpBtn" onstart="PF('fileReadBlock').block()"
oncomplete="PF('fileReadBlock').unblock()" />
<h:outputText value="Tabellenblatt" rendered="#{not empty hwimportwiz.hwImport.file}" />
<p:selectOneMenu id="selSheet" value="#{hwimportwiz.hwImport.selectedSheet}"
rendered="#{not empty hwimportwiz.hwImport.file}">
<f:selectItems value="#{hwimportwiz.hwImport.sheet.tablesheets}" />
</p:selectOneMenu>
</h:panelGrid>
</p:panel>
</p:tab>
<p:tab id="specification" title="Vorgaben">
<p:panel header="Importvorgaben">
</p:panel>
</p:tab>
<p:tab id="summary" title="Zusammenfassung">
<p:panel header="Zusammenfassung">
<h:panelGrid columns="2" columnClasses="label, value">
<p:commandButton id="hwImportBtn" widgetVar="hwImportBtn" value="Importieren" icon="pi pi-cloud-upload"
actionListener="#{hwimportwiz.startImport}" update="messages" onclick="PF('importProgress').start();PF('qdBlock').show()"
oncomplete="PF('qdBlock').hide()" ajax="false" disabled="#{hwimportwiz.hasError}" />
</h:panelGrid>
</p:panel>
</p:tab>
</p:wizard>
</p:panel>
<br />
<p:blockUI widgetVar="qdBlock" block="wizardPnl" trigger="hwImportBtn" style="float:right;">
<p:graphicImage value="../resources/images/loader.gif" />
<p:progressBar id="importProgress" widgetVar="importProgress" ajax="true" value="#{hwimportwiz.hwImport.inProgress}"
labelTemplate="{value}%" global="false" interval="500">
<p:ajax event="complete" oncomplete="PF('hwImportBtn').enable()" />
</p:progressBar>
</p:blockUI>
<pe:blockUI widgetVar="fileReadBlock" block="tablePanel">
<em class="fa fa-spinner fa-spin"></em>
</pe:blockUI>
</h:form>
</div>
Den FileUpload habe ich (denke ich) so gebaut, wie hier beschrieben: StackOverflow
Trotzdem wird das pe:blockUI nicht eingeblendet.
Das p:blockUI, welches beim Abschluss auftauchen soll, das kommt. Aber beim FileUpload tut er sich irgendwie schwer.
Ich brauche den Block, weil mit den Daten beim Import einiges gemacht wird und ich den User nicht Minutenlang auf eine Seite starren lassen will, in der Hoffnung, dass etwas passiert.
In der Konsole kommen keine JS Fehler.