Expand my Community achievements bar.

SOLVED

Force refresh on Edit/Preview mode change?

Avatar

Level 2

Is there a way to force the current page to refresh when switching between Edit and Preview modes? This is to ensure that logic that checks against the current mode value runs as expected.

1 Accepted Solution

Avatar

Correct answer by
Level 10

This has been shown in an EKS demo. If you look at the EKS wiki page [0]. There should be a recording for a Touch UI session and this was discussed there. 

A very basic code that does something similar is below. Obviously this will need to be tested and ensured that it works, but it gives the general idea. 

(function ($, channel) {
    'use strict';
    $(function () {
        channel.on('cq-layer-activated', function (event) {

            var pageUrl = window.location.href;
            var ANNOTATE_LAYER = 'Annotate';
            if ( event.prevLayer && event.layer !== event.prevLayer
                        && event.layer != ANNOTATE_LAYER  && event.prevLayer != ANNOTATE_LAYER ) {
                    location.reload();
                }
        });
    });
})(Granite.$, jQuery(document));

[0]https://wiki.corp.adobe.com/x/mIc1N

View solution in original post

5 Replies

Avatar

Level 10

You can add this piece of code

<script> CQ.WCM.launchSidekick("${currentPage.path @ context='uri'}", { propsDialog: "${wcmInit.dialogPath @ context='uri'}", locked: ${currentPage.locked @ context="scriptString"}, previewReload: "true" }); </script>

Avatar

Level 2

edubey wrote...

You can add this piece of code

  1. <script>
  2. CQ.WCM.launchSidekick("${currentPage.path @ context='uri'}", {
  3. propsDialog: "${wcmInit.dialogPath @ context='uri'}",
  4. locked: ${currentPage.locked @ context="scriptString"},
  5. previewReload: "true"
  6. });
  7. </script>

 

 

Is that only for the classic ui, not the touch ui?

Avatar

Level 10

Yes.. this is for classic UI when you use sidekick

Avatar

Correct answer by
Level 10

This has been shown in an EKS demo. If you look at the EKS wiki page [0]. There should be a recording for a Touch UI session and this was discussed there. 

A very basic code that does something similar is below. Obviously this will need to be tested and ensured that it works, but it gives the general idea. 

(function ($, channel) {
    'use strict';
    $(function () {
        channel.on('cq-layer-activated', function (event) {

            var pageUrl = window.location.href;
            var ANNOTATE_LAYER = 'Annotate';
            if ( event.prevLayer && event.layer !== event.prevLayer
                        && event.layer != ANNOTATE_LAYER  && event.prevLayer != ANNOTATE_LAYER ) {
                    location.reload();
                }
        });
    });
})(Granite.$, jQuery(document));

[0]https://wiki.corp.adobe.com/x/mIc1N

Avatar

Level 10

HI  - This has been shown in an EKS demo. If you look at the EKS wiki page [0]. There should be a recording for a Touch UI session and this was discussed there. 

A very basic code that does something similar is below. Obviously this will need to be tested and ensured that it works, but it gives the general idea. 

(function ($, channel) {
    'use strict';
    $(function () {
        channel.on('cq-layer-activated', function (event) {

            var pageUrl = window.location.href;
            var ANNOTATE_LAYER = 'Annotate';
            if ( event.prevLayer && event.layer !== event.prevLayer
                        && event.layer != ANNOTATE_LAYER  && event.prevLayer != ANNOTATE_LAYER ) {
                    location.reload();
                }
        });
    });
})(Granite.$, jQuery(document));

[0]https://wiki.corp.adobe.com/x/mIc1N