Component refresh when switching between edit and preview mode | Community
Skip to main content
December 27, 2018
Solved

Component refresh when switching between edit and preview mode

  • December 27, 2018
  • 5 replies
  • 5373 views

Hi all,

We recently had an upgrade from AEM 6.1 to AEM 6.3 SP3 and now we are evaluating the different custom components and see how they are in the touch UI.

One thing that we noticed is that there is no refresh when switching between Edit and Preview mode in the touch UI, while the classic UI does.

We used this refresh to switch styles because the classic Ui is sometimes very messy.

Is there some way to fix the switch between the 2 wcmmodes (I already tried the solution in javascript described here: AEM6.3 - force page refresh when change mode to preview on touch ui  , but it doesn't work)?

Thanks in advance!

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by arunpatidar

Hi,

You can create clientlibs of category and add cq.authoring.dialog below code.

This code only works when you click on edit and preview button and Edit button inside popover

(function($, $document) {

    "use strict";

    $(document).on("click", ".editor-GlobalBar-previewTrigger", function(e) {

    window.location.reload();

    });

    $('.editor-GlobalBar-item[data-layer="Edit"]').on("click", function(e) {

    window.location.reload();

    });

    $(document).on("click", ".coral-BasicList-item.js-editor-LayerSwitcherTrigger", function(e) {

        if($(this).data("layer")=="Edit")

        {

            window.location.reload();

        }

    });

})($, $(document));

5 replies

smacdonald2008
December 28, 2018

AEM OOTB does not support this. As Praveen suggests in the other thread - you need to use script to do this.

arunpatidar
Community Advisor
arunpatidarCommunity AdvisorAccepted solution
Community Advisor
December 28, 2018

Hi,

You can create clientlibs of category and add cq.authoring.dialog below code.

This code only works when you click on edit and preview button and Edit button inside popover

(function($, $document) {

    "use strict";

    $(document).on("click", ".editor-GlobalBar-previewTrigger", function(e) {

    window.location.reload();

    });

    $('.editor-GlobalBar-item[data-layer="Edit"]').on("click", function(e) {

    window.location.reload();

    });

    $(document).on("click", ".coral-BasicList-item.js-editor-LayerSwitcherTrigger", function(e) {

        if($(this).data("layer")=="Edit")

        {

            window.location.reload();

        }

    });

})($, $(document));

Arun Patidar
January 8, 2019

You code gave me an idea on how to solve it. I tried your code at first (with some minor changes). This didn't work because apparently the project i'm working on has an Iframe to wrap its content. I had to add a line of code to reach the buttons in Javascript. But the concept stayed the same.

I had to use the parent.document.getElementsByClassName()

Thanks for the idea!

ajinkayk6258253
August 23, 2019

Hi arun, code is not working for categories other than cq.authoring.dialog ? Any Reason.

arunpatidar
Community Advisor
Community Advisor
August 23, 2019

because it may not be loading if other categories are not being used.

But why you need to load with another category.

If the script is getting loaded in proper order it should work.

Arun Patidar