0
votes

I have a project which uses richfaces 3.X.

When a users click the edit button, a modal panel pops up.

The problem now is that this modal panel appears to be transparent.

This only happen in IE 11, it is working totally fine with other browsers including other versions of IE.

Anyone knows why is that happening?

Here is a piece of the code responsible for the modal panel :

<rich:modalPanel id="wizardGeneric#{id}" autosized="true" minWidth="#{empty wizardWidth ? 500 : wizardWidth}" 
            minHeight="#{ empty wizardHight ? (wizard.showNavigation ? 430 : 400 ) : wizardHight}" 
            maxHeight="#{empty wizardHight ? 400 : wizardHight}" rendered="#{wizard.modalOpened}"
            showWhenRendered="true"  styleClass="wizardZIndex wizardGenericPanel"
            top = "30" left = "100"
            controlsClass = "wizardModalControlClass" 
            onmove="if(document.selection) document.selection.empty(); else if(window.getSelection) window.getSelection().removeAllRanges();">              
        <f:facet name="header">
            <h:panelGroup styleClass="wizardGenericHeader" id="wizardGenericHeader#{id}" />
        </f:facet>
        <h:form id="wizardGenericForm#{id}" styleClass="edit wizardGenericFormClass" enctype="multipart/form-data">
            <h:panelGrid styleClass="wizardGenericPrevNext" id="wizardGenericPrevNext#{id}" rendered="#{wizard.showNavigation}">
                <h:panelGroup>
                    <a:commandLink
                        value="#{messages.prevEntry} #{wizard.className}"
                        rendered="#{wizard.hasPrevious()}"
                        eventsQueue = "eventsQueue"
                        action="#{wizard.goToPrevious()}"
                        reRender="wizardGenericPrevNext#{id}, wizardGenericHeaderPageTitle#{id}, wizardGenericHeaderStepTitle#{id}, wizardGenericDescription#{id}, wizardGenericFormSDiv#{id}"
                        style="margin-right:15px;" />
                    <a:commandLink
                        value="#{messages.nextEntry} #{wizard.className}"
                        rendered="#{wizard.hasNext()}"
                        eventsQueue = "eventsQueue"
                        action="#{wizard.goToNext()}"
                        reRender="wizardGenericPrevNext#{id}, wizardGenericHeaderPageTitle#{id}, wizardGenericHeaderStepTitle#{id}, wizardGenericDescription#{id}, wizardGenericFormSDiv#{id}" />
                </h:panelGroup>
            </h:panelGrid>
            <s:div styleClass="wizardGenericDescription" id="wizardGenericDescription#{id}">
                <h:panelGrid columns="2" id="wizardGenericDescriptionPg#{id}" styleClass="wizardGrid" columnClasses="wizardExclamation,wizardDesc" rendered="#{wizard.showDescription}">
                    <h:panelGroup>
                        <h:outputText value="!" />
                    </h:panelGroup>
                    <h:panelGroup>
                        <h:outputText value="#{wizard.aktSite.pageDescription.getText()}"/>
                    </h:panelGroup>
                </h:panelGrid>
            </s:div>
            <s:div id="wizardGenericFormSDiv#{id}" styleClass="wizardGenericPanelInner" style="display:block;">
                <s:div styleClass="wizardIncludedStepContainer" style="height:#{empty wizardHight ? 340 : wizardHight-70}px;margin: 0 0 30px;">
                    <s:div id="msgWizard#{id}" style="overflow-y:visible;overflow-x:hidden;margin:10px;">
                        <h:messages id="msgWizardMsg#{id}" styleClass="message"
                            errorClass="errormsg" infoClass="infomsg" warnClass="warnmsg"
                            rendered="#{showGlobalMessages != 'false'}" />
                    </s:div>
                    <a:include styleClass="includedStepContent" id="includedStepContent#{id}" viewId="#{wizard.aktSite.pageName}"
                        rendered="#{!empty wizard.aktSite}" />
                </s:div>
                <h:panelGrid columns="2" id="wizardGenericButtons#{id}" styleClass="wizardBgButtonsBottom" width="100%">
                    <h:panelGroup styleClass="wizardGenericNavigation" id="wizardGenericNavigation#{id}" style="float:left">
                        <a:commandButton action="#{wizard.prevStep}" styleClass="wizardButtonsBottom"
                            eventsQueue="eventsQueue" id="wizardGenericPrev#{id}"
                            limitToList="true"
                            disabled="#{!wizard.previous}"
                            reRender="wizardGenericControls#{id}, wizardGenericHeaderPageTitle#{id}, wizardGenericHeaderStepTitle#{id}, wizardGenericDescription#{id}, wizardGenericFormSDiv#{id}"
                            bypassUpdates="#{wizard.hasChild()}"
                            ajaxSingle = "#{wizard.hasChild()}"
                            immediate = "#{wizard.hasChild()}"
                            type="button" value="#{msg.back}" />
                        <rich:spacer width="5px" />
                        <a:commandButton action="#{wizard.nextStep}" styleClass="wizardButtonsBottom"
                            eventsQueue="eventsQueue" id="wizardGenericNext#{id}"
                            limitToList="true"
                            disabled="#{!wizard.next}"
                            reRender="wizardGenericControls#{id}, wizardGenericHeaderPageTitle#{id}, wizardGenericHeaderStepTitle#{id}, wizardGenericDescription#{id}, wizardGenericFormSDiv#{id}"
                            type="button" value="#{msg.next}" />
                    </h:panelGroup>
                    <h:panelGroup id="wizardGenericOps#{id}" style="float:right">
                        <a:outputPanel ajaxRendered="true">
                            <a:commandButton action="#{wizard.submit}" styleClass="wizardButtonsBottom"
                                disabled="#{not(wizard.submit)}" eventsQueue="eventsQueue"
                                id="wizardGenericSubmit#{id}" 
                                reRender="wizardGenericSDiv#{id}, #{reRender}"
                                rendered="#{empty hideSaveBtn}"
                                type="button" value="#{empty saveBtn ? msg.save : saveBtn}">
                                <f:param name = "firstRead" value = "true"/>
                            </a:commandButton>
                            <rich:spacer width="5px" />
                            <a:commandButton  styleClass="wizardButtonsBottom"
                                action="#{wizard.saveAndNew}"
                                disabled="#{not(wizard.submit)}" 
                                eventsQueue="eventsQueue"
                                id="wizardGenericSaveAndNew#{id}" 
                                limitToList="true" 
                                reRender="wizardGeneric#{id}, #{reRender}"
                                rendered="#{empty hideDisableNewBtn}"
                                type="button" 
                                value="#{empty saveAndNewBtn ? msg.saveAndNew : saveAndNewBtn}">
                                <f:param name = "firstRead" value = "true"/>
                            </a:commandButton>
                            <rich:spacer width="5px" />
                        </a:outputPanel>
                        <a:commandButton styleClass="wizardButtonsBottom" 
                            action="#{wizard.reset}" ajaxSingle="true"  
                            bypassUpdates="true" eventsQueue="eventsQueue"
                            id="wizardGenericReset#{id}"
                            immediate="true" limitToList="true" reRender="wizardGenericSDiv#{id}, #{renderOnReset}"
                            type="button" value="#{msg.abbrechen}"
                            actionListener="#{rich:findComponent('includedStepContent'.concat(id)).getChildren().clear()}"/>
                    </h:panelGroup>                     
                </h:panelGrid>

                <script>
                    resizetable();
                </script>

            </s:div>
            <rich:panel styleClass="wizardStepsContainer" id="wizardGenericHeaderStepTitle#{id}" bodyClass="wizardSteps">
                <c:if test="#{wizard.stepNumbetLast gt 1}">
                    <c:forEach var="step" begin="1" end="#{empty stepNumbetLast ? wizard.stepNumbetLast : stepNumbetLast}" step="1">
                            <a:commandLink rendered="#{wizard.isStepActive(step) and step eq (wizard.stepNumbetCurrent-1)}" action="#{wizard.prevStep}" value="#{wizard.stepNumbetCurrent-1}" title="#{wizard.stepName(step)}"
                                styleClass="stepleft" eventsQueue="eventsQueue"
                                reRender="wizardGenericControls#{id}, wizardGenericHeaderPageTitle#{id}, wizardGenericHeaderStepTitle#{id}, wizardGenericDescription#{id}, wizardGenericFormSDiv#{id}" />
                            <a:commandLink rendered="#{wizard.isStepActive(step) and step eq (wizard.stepNumbetCurrent+1)}" action="#{wizard.nextStep}" value="#{wizard.stepNumbetCurrent+1}" title="#{wizard.stepName(step)}"
                                styleClass="stepright" eventsQueue="eventsQueue" ajaxSingle="#{wizard.hasChild()}"
                                reRender="wizardGenericControls#{id}, wizardGenericHeaderPageTitle#{id}, wizardGenericHeaderStepTitle#{id}, wizardGenericDescription#{id}, wizardGenericFormSDiv#{id}" />
                            <a:commandLink rendered="#{wizard.isStepActive(step) and step != (wizard.stepNumbetCurrent-1) and step != wizard.stepNumbetCurrent and step != (wizard.stepNumbetCurrent+1) and wizard.edit}"
                                action="#{wizard.goToStep(step)}" value="#{step}" title="#{wizard.stepName(step)}" eventsQueue="eventsQueue" ajaxSingle="#{wizard.hasChild()}"
                                styleClass="#{(step lt wizard.stepNumbetCurrent ? 'stepleft' : (step gt wizard.stepNumbetCurrent ? 'stepright' : 'stepcurrent'))}"
                                reRender="wizardGenericControls#{id}, wizardGenericHeaderPageTitle#{id}, wizardGenericHeaderStepTitle#{id}, wizardGenericDescription#{id}, wizardGenericForm#{id}" />
                            <h:outputText value="#{step}" rendered="#{!wizard.isStepActive(step) or ((step != (wizard.stepNumbetCurrent-1) and step != (wizard.stepNumbetCurrent+1) and !wizard.edit)) or (step eq wizard.stepNumbetCurrent and wizard.edit)}" 
                                styleClass="#{(step lt wizard.stepNumbetCurrent ? 'stepleft' : (step gt wizard.stepNumbetCurrent ? 'stepright' : 'stepcurrent'))}"
                                title="#{(step != wizard.stepNumbetCurrent ? wizard.stepName(step) : '')}" />
                    </c:forEach>
                </c:if>
            </rich:panel>
            <h:panelGroup styleClass="wizardGenericControls" id="wizardGenericControls#{id}">
                <h:outputText value="#{wizard.pageTitleShort}" title="#{wizard.pageTitle}"
                    styleClass="wizardGenericHeaderPageTitle" id = "wizardGenericHeaderPageTitle#{id}" />
                <rich:spacer width="10" height="10" />
                <a:commandLink
                    rendered="#{!empty wizard.aktSite.pageDescription.getText()}" 
                    action="#{wizard.switchShowDescription}"
                    reRender="wizardGenericFormSDiv#{id},wizardGenericDescription#{id},showDescription#{id}"
                    eventsQueue="eventsQueue"
                    id="showDescription#{id}"
                    ignoreDupResponses = "true"
                    title = "#{wizard.showDescription ? msg.hideDescription : msg.showDescription}">
                    <h:panelGroup>
                        <h:outputText value="i" styleClass="wizardHelp"/>
                    </h:panelGroup> 
                </a:commandLink>
                <h:outputLink target="_blank" value="/profiler/help.pdf">
                    <h:panelGroup>
                        <h:outputText value="?" styleClass="wizardHelp"/>
                    </h:panelGroup> 
                </h:outputLink>
            </h:panelGroup>
        </h:form>
    </rich:modalPanel>
2
We do not need to see that much code, if the issue is with the panel the content is irrelevant ;) It's likely CSS related, you should inspect the code and check the panel's background. You should also try it without @styleClass. - Makhiel
I stayed for like 3 days checking the .css classes and the panel's background and so on. But it was not the case for sure because i tried for example saving the output from chrome and opening it with IE11. but the issue still exists its a bit weird. I will try it with removing the @styleClass. - user3094603
ah btw thanks for ur reply :) - user3094603
What I meant is inspecting the code in the browser, it should be F12 in IE. There you can see what is the actual style that the browser is using. - Makhiel
Yea i understood you. and remove @styleclass did not work unfortunately. I will keep inspecting maybe i will figure something out. - user3094603

2 Answers

0
votes

It looks you are rerender this modelPanel on click of edit button.

i would suggest to put the popup model windows content inside a a4j container like: and call rerender of this panel

0
votes

I had same problem and finally solved by add the host/site to the Compatibility View list.

  1. Open Internet Explorer, select the Tools button, and then select Compatibility View settings.
  2. Under Add this website, enter the URL of the site you want to add to the list, and then select Add.

I'm using IE version 11.0.9600.17416 update 11.0.14.