3 Replies Latest reply on Mar 2, 2010 5:56 AM by Ilya Shaikovsky

    extendeddatatable stuck in splashscreen when rendered

    henry katz Newbie

      Using RF 3.3.2.SR1, I am rendering an extendeddatatable:

       

                      <rich:extendedDataTable id="gciInfoFragment" value="#{GCIs.widgetsDataModel}" var="g" width="350px" height="200px"
                          selectionMode="#{GCIs.selectionMode}" selection="#{GCIs.selection}" >
                          <rich:column>
                              <f:facet name="header">
                                  <h:outputText value="Name"/>
                              </f:facet>
                              <h:outputText value="#{g.institutionName}"/>
                          </rich:column>
                          <rich:column>
                              <f:facet name="header">
                                  <h:outputText value="State"/>
                              </f:facet>
                              <h:outputText value="#{g.primaryBranch.state}"/>
                          </rich:column>                               
                          <a4j:support reRender="gciInfoFragment"  action="#{GCIs.takeSelection}" event="onselectionchange" />                       
                      </rich:extendedDataTable>

       

      and notice that the following styleclass is set using FireBug:

       

      .extdt-ss-vsbl {
      background-image:url(/swf-rf-poc/spring/a4j/g/3_3_2.SR1org/richfaces/renderkit/html/images/loading.gif);
      border-bottom:1px solid #B6AD84;
      border-right:1px solid #B6AD84;
      }

      with a little research, I've found this article:


      which talks about this:

      should be done via client side API                  
      • $('tableId').showSplash();
      • $('tableId').hideSplash();

       

       

      which almost matches the actual code in the ExtendedDataTable.js:

       

              showSplashScreen: function(){
              /**
                  Opera 95 is not drawing additional
                  element, and so I am commenting this out.
              if (ClientUILib.isOpera) {
                  this.mainDiv.setStyle({display:'none'});
              }
              */
              //this.table.setStyle({visibility:'hidden'});
              var splshscr = this.splashScreen;
              splshscr.className = 'extdt-ss-vsbl';
              },

       

              hideSplashScreen: function(){
              /**
                  Opera 95 is not drawing additional
                  element, and so I am commenting this out.
              if (ClientUILib.isOpera) {
                  this.mainDiv.setStyle({display:''});
              }

       

      So when do I have to use the hideSplashScreen() to disable the splash? It seems to require the model to fire on render before any input is given to create a new model.

       

      Thanks,

      Henry