May 10, 2020
Estimated Post Reading Time ~

How to refresh a page when a component is modified

Symptoms
A change was made to a component by an author. The page needs to be refreshed in order to immediately reflect the change. Is there a way to automate this such that the author does not need to refresh the page?

Resolution
The cq:listeners [cq:EditListenersConfig] is used to refresh the HTML page after a certain action is performed on a component. The cq:listeners node should be located as shown:

/component-name [cq:Component]
   /cq:editConfig [cq:editConfig]
      /cq:listeners [cq:EditListenersConfig]
NOTE: Text in the "[]" is the nodetype. Text after "/" is the node name -- should be extact name except for the "component-name".

The following properties are associated with cq:listeners node are:
  • aftercreate
  • afterdelete
  • afteredit
  • afterinsert
  • aftermove
  • afterremove
There are three possible values that can be assigned to the properties above -- either "REFRESH_SELF", "REFRESH_PARENT", "REFRESH_PAGE".

So, if you want your text component to cause a page refresh after each edit, you would create the following structure:

...
/mytextcomponent [cq:Component]
   /cq:editConfig [cq:editConfig]
      /cq:listeners [cq:EditListenersConfig]
         - afteredit {REFRESH_PAGE}             <= property {value}
   mytextcomponent.jsp                          <= code


By aem4beginner

No comments:

Post a Comment

If you have any doubts or questions, please let us know.