[richfaces-issues] [JBoss JIRA] (RF-11757) jQuery is not defined and other runtime javascript error

Jean ANDRE (Commented) (JIRA) jira-events at lists.jboss.org
Wed Nov 30 10:42:42 EST 2011


    [ https://issues.jboss.org/browse/RF-11757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12646700#comment-12646700 ] 

Jean ANDRE commented on RF-11757:
---------------------------------

We found a solution - Instead to place the code that call the ecss and the js inside the header, we put the instruction at the end of the page. Like this, richfaces is loaded. Here the code.

{code}
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:ui="http://java.sun.com/jsf/facelets">
    
<f:view>
  <h:head>
    <meta http-equiv="Expires" content="0" />
    <meta http-equiv="Pragma" content="No-cache" />
    <meta http-equiv="Cache-Control" content="private" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title><ui:insert name="title"><h:outputText value="#{msg['common.label.application.title']}"/></ui:insert></title>
    <link type="text/css" rel="stylesheet" href="#{webApplicationUtil.baseURL}css/crm-enterprise.css" />
  </h:head>
  <h:body styleClass="crm-enterprise">
    <div id="body" class="body-container">
    <!--                                         -->
    <!--                H E A D E R              -->
    <!--                                         -->
    <div class="header-container">
      <ui:insert name="header" />
    </div>
    <!--                                         -->
    <!--                B O D Y                  -->
    <!--                                         -->
    <div id="content" class="content">
        <ui:insert name="content" />
    </div>
    <!--                                         -->
    <!--                F O O T E R              -->
    <!--                                         -->
    <ui:insert name="footer" />
    <ui:debug></ui:debug>
    </div>
    <!--                     -->
    <!--  RF 11694 workaround      -->
    <!--  JSF JAVASERVERFACES-2016   -->
    <!--                     -->
    <h:outputStylesheet library="org.richfaces" name="datatable.ecss" />
    <h:outputScript library="org.richfaces" name="datatable.js" />        
  </h:body>
</f:view>
</html>
{code}

This bug must to be link to the RF-11694
                
> jQuery is not defined and other runtime javascript error
> --------------------------------------------------------
>
>                 Key: RF-11757
>                 URL: https://issues.jboss.org/browse/RF-11757
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 4.1.0.CR1
>         Environment:  Websphere 8 - RAD 8 - JSF Mojorra 2.1.4 - Spring 3.0.6 Final - Use @Inject @Named @SessionScoped as annotations - Firefox 7.0.1 - Windows 7 (6.1 sp1) - AspectJ 1.6.12 / AJDT 
>            Reporter: Jean ANDRE
>         Attachments: screenshot-1.jpg
>
>
> We are facing to some errors of javascript:
> 1) Once the application displayed the home page. Under firebug we have the following javascript error:
> jQuery is not defined - [Stopper sur une erreur] })(jQuery, window.RichFaces); 
> datata...chfaces (ligne 113) : http://localhost:12000/crm/javax.faces.resource/datatable.js.jsf?ln=org.richfaces. We think that behavior is related to the workaround related to the bugs RF-11694 and JAVASERVERFACES-2016. Loading only the css or the ecss seems not be enough - Missing component ?
> Here is the code involved - The last line is the line 113
> {code}
> (function ($, richfaces) {
> richfaces.ui = richfaces.ui || {};
> richfaces.ui.DataTable = function(id, options) {
> $super.constructor.call(this, id);
> this.options = $.extend(this.options, options || {});
> this.attachToDom();
> };
> richfaces.BaseComponent.extend(richfaces.ui.DataTable);
> var $super = richfaces.ui.DataTable.$super;
> $.extend(richfaces.ui.DataTable, {
> SORTING: "rich:sorting",
> FILTERING: "rich:filtering",
> SUBTABLE_SELECTOR:".rf-cst"
> });
> $.extend(richfaces.ui.DataTable.prototype, ( function () {
> var invoke = function(event, attributes) {
> richfaces.ajax(this.id, event, {"parameters" : attributes});
> };
> var createParameters = function(type, id, arg1, arg2) {
> var parameters = {};
> var key = this.id + type;
> parameters[key] = (id + ":" + (arg1 || "") + ":" + arg2);
> var eventOptions = this.options.ajaxEventOption;
> for (key in eventOptions) {
> if (!parameters[key]) {
> parameters[key] = eventOptions[key];
> }
> }
> return parameters;
> };
> return {
> name : "RichFaces.ui.DataTable",
> sort: function(columnId, direction, isClear) {
> invoke.call(this, null, createParameters.call(this, richfaces.ui.DataTable.SORTING, columnId, direction, isClear));
> },
> clearSorting: function() {
> this.sort("", "", true);
> },
> filter: function(columnId, filterValue, isClear) {
> invoke.call(this, null, createParameters.call(this, richfaces.ui.DataTable.FILTERING, columnId, filterValue, isClear));
> },
> clearFiltering: function() {
> this.filter("", "", true);
> },
> expandAllSubTables: function() {
> this.invokeOnSubTables('expand');
> },
> collapseAllSubTables: function() {
> this.invokeOnSubTables('collapse');
> },
> switchSubTable: function(id) {
> this.getSubTable(id).switchState();
> },
> getSubTable: function(id) {
> return richfaces.$(id);
> },
> invokeOnSubTables: function(funcName) {
> var elements = $(document.getElementById(this.id)).children(richfaces.ui.DataTable.SUBTABLE_SELECTOR);
> var invokeOnComponent = this.invokeOnComponent;
> elements.each(
> function() {
> if (this.firstChild && this.firstChild[richfaces.RICH_CONTAINER] && this.firstChild[richfaces.RICH_CONTAINER].component) {
> var component = this.firstChild[richfaces.RICH_CONTAINER].component;
> if (component instanceof RichFaces.ui.CollapsibleSubTable) {
> invokeOnComponent(component, funcName);
> }
> }
> }
> );
> },
> invokeOnSubTable: function(id, funcName) {
> var subtable = this.getSubTable(id);
> this.invokeOnComponent(subtable, funcName);
> },
> invokeOnComponent: function(component, funcName) {
> if (component) {
> var func = component[funcName];
> if (typeof func == 'function') {
> func.call(component);
> }
> }
> },
> destroy: function() {
> $super.destroy.call(this);
> }
> }
> })());
> })(jQuery, window.RichFaces);
> {code}
> 2) RichFaces.ui.DataTable is not a constructor
> [Stopper sur une erreur] <!-- --><a href=...JJ9ij1zRoAAA==" autocomplete="off" />  index.jsf (ligne 242)
> here is the line 242
> {code}
> <!-- --><a href="#" id="tabbedForm:TAB_CLIENT-1322666340965-resultListClient:3:TAB_CLIENT-1322666340965-verifyCmd" name="tabbedForm:TAB_CLIENT-1322666340965-resultListClient:3:TAB_CLIENT-1322666340965-verifyCmd" onclick="RichFaces.ajax(&quot;tabbedForm:TAB_CLIENT\u002D1322666340965\u002DresultListClient:3:TAB_CLIENT\u002D1322666340965\u002DverifyCmd&quot;,event,{&quot;incId&quot;:&quot;1&quot;} );return false;">Vérifier</a></td></tr></tbody><tbody id="tabbedForm:TAB_CLIENT-1322666340965-resultListClient:sc"><tr><td style="display: none"><script type="text/javascript">new RichFaces.ui.DataTable("tabbedForm:TAB_CLIENT\u002D1322666340965\u002DresultListClient",{"ajaxEventOptions":{} } )</script></td></tr></tbody></table></span></div><script type="text/javascript">new RichFaces.ui.Tab("tabbedForm:TAB_CLIENT\u002D1322666340965",{"index":2,"leave":null,"switchMode":"ajax","enter":"enterTab('TAB_CLIENT\u002D1322666340965')","onenter":function(event){enterTab('TAB_CLIENT-1322666340965')},"togglePanelId":"tabbedForm:desktopTabPanel","name":"TAB_CLIENT\u002D1322666340965","disabled":false} )</script></div><div id="tabbedForm:TAB_CLIENT-1322666274787" style="display:none;"></div><script type="text/javascript">new RichFaces.ui.Tab("tabbedForm:tab\u002Dworkitems",{"index":0,"leave":null,"switchMode":"ajax","enter":"enterTab('')","onenter":function(event){enterTab('')},"togglePanelId":"tabbedForm:desktopTabPanel","name":"tab\u002Dworkitems","disabled":false} )</script><script type="text/javascript">new RichFaces.ui.Tab("tabbedForm:tab\u002Dsearch",{"index":1,"leave":null,"switchMode":"ajax","enter":"enterTab('')","onenter":function(event){enterTab('')},"togglePanelId":"tabbedForm:desktopTabPanel","name":"tab\u002Dsearch","disabled":false} )</script><script type="text/javascript">new RichFaces.ui.Tab("tabbedForm:TAB_CLIENT\u002D1322666340965",{"index":2,"leave":null,"switchMode":"ajax","enter":"enterTab('TAB_CLIENT\u002D1322666340965')","onenter":function(event){enterTab('TAB_CLIENT-1322666340965')},"togglePanelId":"tabbedForm:desktopTabPanel","name":"TAB_CLIENT\u002D1322666340965","disabled":false} )</script><script type="text/javascript">new RichFaces.ui.Tab("tabbedForm:TAB_CLIENT\u002D1322666274787",{"index":3,"leave":null,"switchMode":"ajax","enter":"enterTab('TAB_CLIENT\u002D1322666274787')","onenter":function(event){enterTab('TAB_CLIENT-1322666274787')},"togglePanelId":"tabbedForm:desktopTabPanel","name":"TAB_CLIENT\u002D1322666274787","disabled":false} )</script></div><input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="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" autocomplete="off" />
> </form><span id="enterTab" style="display: none;"><script type="text/javascript">enterTab=function(tabId){RichFaces.ajax("enterTab",null,{"incId":"1","parameters":{"tabId":tabId} } )};</script></span> 
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the richfaces-issues mailing list