-
1. Re: Using rich:editor + spellchecker plugin + a4j:poll doesn't work right
ilya_shaikovsky Oct 20, 2010 5:10 AM (in response to cdollar393)does the editor getting reRender'ed from a4j:poll? Then it looks like working as it should (information from just spell-check plugin can't be stored by the tiny component at server side because it can't even has idea what to store and restore any data for some of the various plugins).
-
2. Re: Using rich:editor + spellchecker plugin + a4j:poll doesn't work right
cdollar393 Oct 20, 2010 11:11 AM (in response to ilya_shaikovsky)Hi Ilya,
No, the editor is not being reRendered by the a4j:poll. In fact, I just did an experiment and added an a4j:poll to the page that doesn't reRender anything and I still see the same behavior as before -- as soon as the poll fires the spellcheck gets reset. This doesn't seem like it is working as it should?
Chris
-
3. Re: Using rich:editor + spellchecker plugin + a4j:poll doesn't work right
cdollar393 Oct 22, 2010 10:10 AM (in response to cdollar393)Bump. Ilya, can you comment any further on my issue? Thanks again.
Chris
-
4. Re: Using rich:editor + spellchecker plugin + a4j:poll doesn't work right
ilya_shaikovsky Oct 25, 2010 4:35 AM (in response to cdollar393)and there is no outputPanel components with ajaxRendered=true around the editor? check a4j:log information on poll requests please. maybe there are some errors.
-
5. Re: Using rich:editor + spellchecker plugin + a4j:poll doesn't work right
cdollar393 Oct 25, 2010 5:20 PM (in response to ilya_shaikovsky)Ilya Shaikovsky wrote:
and there is no outputPanel components with ajaxRendered=true around the editor? check a4j:log information on poll requests please. maybe there are some errors.
No, there are not any outputPanels with ajaxRendered=true around the editor (just double-checked my code). I've also looked at the a4j:og and don't see any problems there either (I'll post the output from the a4j:poll firing below). FWIW, for the log output below this is the relevant section from my page:
<div style="display: none"> <a4j:form id="heartbeatForm" rendered="#{user.runningBackground}"> <input type="hidden" value="yes" name="formIsAutoSubmit"/> <a4j:poll id="heartbeatPoll" action="#{user.heartbeat}" interval="10000" status="emptyStatus" reRender="heartbeatPoll,hiddenSecExp" limitToList="true" enabled="#{user.runningBackground}"/> </a4j:form> <h:inputHidden id="hiddenSecExp" value="#{user.secondsToExpire}"/> ....
<div style="display: none"><a4j:form id="heartbeatForm" rendered="#{user.runningBackground}"><input type="hidden" value="yes" name="formIsAutoSubmit"/><a4j:poll id="heartbeatPoll" action="#{user.heartbeat}" interval="10000"status="emptyStatus" reRender="heartbeatPoll,hiddenSecExp"limitToList="true" enabled="#{user.runningBackground}"/></a4j:form><!-- session ttl is out of the form for convenience --><a4j:outputPanel layout="none"><h:inputHidden id="hiddenSecExp" value="#{user.secondsToExpire}"/></a4j:outputPanel>Here is the output from the a4j:log when the poll fires
Clear debug[15:03:33,526]: Query preparation for form 'heartbeatForm' requested debug[15:03:33,526]: Append hidden control formIsAutoSubmit with value [yes] and value attribute [yes] debug[15:03:33,527]: Append hidden control heartbeatForm with value [heartbeatForm] and value attribute [heartbeatForm] debug[15:03:33,527]: Append hidden control autoScroll with value [] and value attribute [] debug[15:03:33,527]: Append hidden control javax.faces.ViewState with value [j_id2] and value attribute [j_id2] debug[15:03:33,527]: parameter heartbeatForm:heartbeatPoll with value heartbeatForm:heartbeatPoll debug[15:03:33,527]: Look up queue with default name debug[15:03:33,527]: Found view queue 'org.richfaces.queue.global' debug[15:03:33,528]: Queue is empty now debug[15:03:33,528]: New request added to queue 'org.richfaces.queue.global'. Queue similarityGroupingId changed to heartbeatForm:heartbeatPoll debug[15:03:33,528]: Queue will wait 0ms before submit debug[15:03:33,528]: Queue 'org.richfaces.queue.global' will submit request NOW debug[15:03:33,528]: NEW AJAX REQUEST !!! with form: heartbeatForm debug[15:03:33,529]: Start XmlHttpRequest debug[15:03:33,530]: Request state : 1 debug[15:03:33,530]: QueryString: AJAXREQUEST=_viewRoot&formIsAutoSubmit=yes&heartbeatForm=heartbeatForm&autoScroll=&javax.faces.ViewState=j_id2&heartbeatForm%3AheartbeatPoll=heartbeatForm%3AheartbeatPoll&AJAX%3AEVENTS_COUNT=1& debug[15:03:33,530]: Request state : 1 debug[15:03:33,838]: Request state : 2 debug[15:03:33,839]: Request state : 3 debug[15:03:33,840]: Request state : 3 debug[15:03:33,840]: Request state : 4 debug[15:03:33,841]: Request end with state 4 debug[15:03:33,841]: Response with content-type: text/xml;charset=UTF-8 debug[15:03:33,841]: Full response content: <?xml version="1.0"?> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"><head><title></title><link class="component" href="/PermitExpress/content/a4j/s/3_3_3.Finalorg/richfaces/renderkit/html/css/basic_classes.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /><link class="component" href="/PermitExpress/content/a4j/s/3_3_3.Finalorg/richfaces/renderkit/html/css/extended_classes.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" media="rich-extended-skinning" rel="stylesheet" type="text/css" /><link class="component" href="/PermitExpress/content/a4j/s/3_3_3.Finalcss/panelbar.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /><link class="component" href="/PermitExpress/content/a4j/s/3_3_3.Finalcss/panel.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /><link class="component" href="/PermitExpress/content/a4j/s/3_3_3.Finalorg/richfaces/renderkit/html/css/modalPanel.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /><link class="component" href="/PermitExpress/content/a4j/s/3_3_3.Finalorg/richfaces/renderkit/html/css/calendar.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /><link class="component" href="/PermitExpress/content/a4j/s/3_3_3.Finalcss/toolBar.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /><link class="component" href="/PermitExpress/content/a4j/s/3_3_3.Finalcss/tabPanel.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /><link class="component" href="/PermitExpress/content/a4j/s/3_3_3.Finalcss/table.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /><link class="component" href="/PermitExpress/content/a4j/s/3_3_3.Finalorg/richfaces/renderkit/html/css/colorPicker.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /><link class="component" href="/PermitExpress/content/a4j/s/3_3_3.Finalcss/datascroller.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /><link class="component" href="/PermitExpress/content/a4j/s/3_3_3.Finalcss/editor.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /><link class="component" href="/PermitExpress/content/a4j/s/3_3_3.Finalorg/richfaces/renderkit/html/css/fileUpload.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /><link class="component" href="/PermitExpress/content/a4j/s/3_3_3.Finalorg/richfaces/renderkit/html/css/progressBar.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /><link class="component" href="/PermitExpress/content/a4j/s/3_3_3.Finalcss/picklist.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /><link class="component" href="/PermitExpress/content/a4j/s/3_3_3.Finalorg/richfaces/renderkit/html/css/tooltip.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /><link class="component" href="/PermitExpress/content/a4j/s/3_3_3.Finalcss/spinner.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /><script id="org.ajax4jsf.queue_script" type="text/javascript">//<![CDATA[ if (typeof A4J != 'undefined') { if (A4J.AJAX) { with (A4J.AJAX) {if (!EventQueue.getQueue('org.richfaces.queue.global')) { EventQueue.addQueue(new EventQueue('org.richfaces.queue.global',null,null)) };}}}; //]]> </script><link class="user" href="/PermitExpress/content/a4j/s/3_3_3.Finalxcss/custom.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /><link class="user" href="/PermitExpress/content/a4j/g/3_3_3.Finalcom/rydindecal/JSMessages/resources/JSMessages.css" rel="stylesheet" type="text/css" /><link class="user" href="/PermitExpress/content/a4j/s/3_3_3.Finalcom/rydindecal/PermitExpress/web/resources/rfStyle.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__" rel="stylesheet" type="text/css" /></head><body><span style="display:none;" id="heartbeatForm:heartbeatPoll"><script type="text/javascript">//<![CDATA[ A4J.AJAX.Poll('heartbeatForm',{'pollId':'heartbeatForm:heartbeatPoll','parameters':{'heartbeatForm:heartbeatPoll':'heartbeatForm:heartbeatPoll'} ,'similarityGroupingId':'heartbeatForm:heartbeatPoll','status':'emptyStatus','pollinterval':10000} ); //]]> </script></span><input id="hiddenSecExp" type="hidden" name="hiddenSecExp" value="0" /><meta name="Ajax-Update-Ids" content="heartbeatForm:heartbeatPoll,hiddenSecExp" /><span id="ajax-view-state"><input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="j_id2" autocomplete="off" /></span><meta id="Ajax-Response" name="Ajax-Response" content="true" /><meta name="Ajax-Update-Ids" content="heartbeatForm:heartbeatPoll,hiddenSecExp" /><span id="ajax-view-state"><input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="j_id2" autocomplete="off" /></span><meta id="Ajax-Response" name="Ajax-Response" content="true" /></body></html> debug[15:03:33,842]: Header Ajax-Expired not found, search in <meta> debug[15:03:33,842]: search for elements by name 'meta' in element #document debug[15:03:33,842]: Find <meta name='Ajax-Update-Ids' content='heartbeatForm:heartbeatPoll,hiddenSecExp'> debug[15:03:33,843]: Find <meta name='Ajax-Response' content='true'> debug[15:03:33,843]: Find <meta name='Ajax-Update-Ids' content='heartbeatForm:heartbeatPoll,hiddenSecExp'> debug[15:03:33,843]: Find <meta name='Ajax-Response' content='true'> debug[15:03:33,843]: Header Ajax-Update-Ids not found, search in <meta> debug[15:03:33,843]: search for elements by name 'meta' in element #document debug[15:03:33,844]: Find <meta name='Ajax-Update-Ids' content='heartbeatForm:heartbeatPoll,hiddenSecExp'> debug[15:03:33,844]: Update page by list of rendered areas from response heartbeatForm:heartbeatPoll,hiddenSecExp debug[15:03:33,845]: search for elements by name 'script' in element #document debug[15:03:33,845]: search for elements by name 'link' in element #document debug[15:03:33,848]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalorg/richfaces/renderkit/html/css/basic_classes.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,848]: Such element exist in document debug[15:03:33,848]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalorg/richfaces/renderkit/html/css/extended_classes.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,848]: Such element exist in document debug[15:03:33,849]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalcss/panelbar.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,849]: Such element exist in document debug[15:03:33,849]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalcss/panel.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,849]: Such element exist in document debug[15:03:33,849]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalorg/richfaces/renderkit/html/css/modalPanel.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,850]: Such element exist in document debug[15:03:33,850]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalorg/richfaces/renderkit/html/css/calendar.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,850]: Such element exist in document debug[15:03:33,850]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalcss/toolBar.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,851]: Such element exist in document debug[15:03:33,851]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalcss/tabPanel.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,851]: Such element exist in document debug[15:03:33,851]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalcss/table.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,852]: Such element exist in document debug[15:03:33,852]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalorg/richfaces/renderkit/html/css/colorPicker.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,852]: Such element exist in document debug[15:03:33,852]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalcss/datascroller.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,853]: Such element exist in document debug[15:03:33,853]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalcss/editor.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,853]: Such element exist in document debug[15:03:33,853]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalorg/richfaces/renderkit/html/css/fileUpload.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,854]: Such element exist in document debug[15:03:33,854]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalorg/richfaces/renderkit/html/css/progressBar.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,854]: Such element exist in document debug[15:03:33,854]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalcss/picklist.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,856]: Such element exist in document debug[15:03:33,856]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalorg/richfaces/renderkit/html/css/tooltip.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,856]: Such element exist in document debug[15:03:33,856]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalcss/spinner.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,856]: Such element exist in document debug[15:03:33,856]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalxcss/custom.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,857]: Such element exist in document debug[15:03:33,857]: <link> in response with src=/PermitExpress/content/a4j/g/3_3_3.Finalcom/rydindecal/JSMessages/resources/JSMessages.css debug[15:03:33,857]: Such element exist in document debug[15:03:33,857]: <link> in response with src=/PermitExpress/content/a4j/s/3_3_3.Finalcom/rydindecal/PermitExpress/web/resources/rfStyle.xcss/DATB/eAFrvajdHLp8hjQAEgwDtA__ debug[15:03:33,857]: Such element exist in document debug[15:03:33,857]: call getElementById for id= org.ajax4jsf.queue_script debug[15:03:33,858]: Evaluate script replaced area in document: // if (typeof A4J != 'undefined') { if (A4J.AJAX) { with (A4J.AJAX) {if (!EventQueue.getQueue('org.richfaces.queue.global')) { EventQueue.addQueue(new EventQueue('org.richfaces.queue.global',null,null)) };}}}; // debug[15:03:33,858]: Script evaluation succeeded debug[15:03:33,858]: Update page part from call parameter for ID heartbeatForm:heartbeatPoll debug[15:03:33,858]: call getElementById for id= heartbeatForm:heartbeatPoll debug[15:03:33,859]: Replace content of node by replaceChild() debug[15:03:33,859]: search for elements by name 'script' in element span debug[15:03:33,859]: Scripts in updated part count : 1 debug[15:03:33,859]: Update part of page for Id: heartbeatForm:heartbeatPoll successful debug[15:03:33,859]: Update page part from call parameter for ID hiddenSecExp debug[15:03:33,860]: call getElementById for id= hiddenSecExp debug[15:03:33,860]: Replace content of node by replaceChild() debug[15:03:33,860]: search for elements by name 'script' in element input debug[15:03:33,860]: Scripts in updated part count : 0 debug[15:03:33,860]: call getElementById for id= org.ajax4jsf.oncomplete debug[15:03:33,860]: Processing updates finished, no oncomplete function to call debug[15:03:33,861]: After request: queue 'org.richfaces.queue.global' debug[15:03:33,861]: There are 0 requests more in this queue debug[15:03:33,861]: Queue is empty now debug[15:03:33,861]: Update part of page for Id: hiddenSecExp successful debug[15:03:33,861]: call getElementById for id= ajax-view-state debug[15:03:33,861]: Hidden JSF state fields: [object HTMLSpanElement] debug[15:03:33,861]: Namespace for hidden view-state input fields is undefined debug[15:03:33,861]: search for elements by name 'input' in element span debug[15:03:33,862]: Replace value for inputs: 81 by new values: 1 debug[15:03:33,862]: Input in response: javax.faces.ViewState debug[15:03:33,862]: Found same input on page with type: hidden debug[15:03:33,863]: Found same input on page with type: hidden debug[15:03:33,863]: Found same input on page with type: hidden debug[15:03:33,863]: Found same input on page with type: hidden debug[15:03:33,863]: Found same input on page with type: hidden debug[15:03:33,864]: Found same input on page with type: hidden debug[15:03:33,864]: Found same input on page with type: hidden debug[15:03:33,864]: Found same input on page with type: hidden debug[15:03:33,864]: Found same input on page with type: hidden debug[15:03:33,865]: Found same input on page with type: hidden debug[15:03:33,865]: Found same input on page with type: hidden debug[15:03:33,865]: Found same input on page with type: hidden debug[15:03:33,866]: Found same input on page with type: hidden debug[15:03:33,866]: Found same input on page with type: hidden debug[15:03:33,866]: Found same input on page with type: hidden debug[15:03:33,867]: Found same input on page with type: hidden debug[15:03:33,867]: Found same input on page with type: hidden debug[15:03:33,867]: Found same input on page with type: hidden debug[15:03:33,868]: search for elements by name 'INPUT' in element span debug[15:03:33,868]: Replace value for inputs: 81 by new values: 0 debug[15:03:33,868]: call getElementById for id= _A4J.AJAX.focus debug[15:03:33,868]: No focus information in response debug[15:03:33,885]: Evaluate script replaced area in document: // A4J.AJAX.Poll('heartbeatForm',{'pollId':'heartbeatForm:heartbeatPoll','parameters':{'heartbeatForm:heartbeatPoll':'heartbeatForm:heartbeatPoll'} ,'similarityGroupingId':'heartbeatForm:heartbeatPoll','status':'emptyStatus','pollinterval':10000} ); // debug[15:03:33,885]: Script evaluation succeeded
As I said earlier, simply commenting-out the a4j:poll tag causes the plugin to work correctly. Is there anything else I can check or any more information I can provide for you?
Thanks again,
Chris
-
6. Re: Using rich:editor + spellchecker plugin + a4j:poll doesn't work right
cdollar393 Oct 27, 2010 10:27 AM (in response to cdollar393)Bump again...
Ilya, I've still not been able to find anything wrong with my environment or a solution to my issue. Can you provide any more suggestions?
Thanks,
Chris
-
7. Re: Using rich:editor + spellchecker plugin + a4j:poll doesn't work right
cdollar393 Nov 4, 2010 10:31 AM (in response to cdollar393)Sorry guys, but I'm bumping this one again. I'm still not sure what I need to do to get this working... any thoughts? Should I submit a bug report for this?
Thanks again,
Chris
-
8. Re: Using rich:editor + spellchecker plugin + a4j:poll doesn't work right
ilya_shaikovsky Nov 8, 2010 4:09 AM (in response to cdollar393)Sorry for so long delay :/ we was really busy withe our next 4.x mileston works. yes please create issue in jira and ideally attach war sample there.
-
9. Re: Using rich:editor + spellchecker plugin + a4j:poll doesn't work right
cdollar393 Nov 8, 2010 4:21 PM (in response to ilya_shaikovsky)Hi Ilya,
I've created https://jira.jboss.org/browse/RF-9727 with a test project that illustrates the issue. Thanks again for all your help with this!
Chris