Highlighted

Check asset status (publish/unpublished) in Asset Finder on Page load (AEM 6.2)

Himanshu_Singhal

MVP

01-01-2019

Hi,

I've a requirement where it's required to check the Publish status to Published on component dialog open in AEM 6.2

asset_finder.PNG

I've tried checking the DOM changes on click on but I don't see the value e.g. checked=true getting added in the input field or not able to find how should perform click event pragmatically on radio button here?

Could anyone help me regarding this?

Regards,
Himanshu Singhal

Replies

Highlighted

Gaurav-Behl

MVP

01-01-2019

Try this

(function ($, $document, author) {

    "use strict";

    $document.on('foundation-contentloaded', onAssetFinderLoad);

    function onAssetFinderLoad(){

        $.ajax(author.page.path+ "/jcr:content.json").done(checkStatus);

   }

    function checkStatus (data){

        var q = data["cq:lastReplicationAction"];

        if(q && q == "Activate"){

            $( "input[type=radio][value=Activate]")[0].checked = true;  // use a different selector for radio buttons in case of a conflict/customization

           $( "input[type=radio][value=Deactivate]")[0].checked = false;

        }

        else {

          $( "input[type=radio][value=Activate]")[0].checked = false;

          $( "input[type=radio][value=Deactivate]")[0].checked = true;

        }

    }

})($, $(document), Granite.author);

Add it under 'cq.authoring.dialog' category.

**This is just a sample code and not tested properly. Extend/Modify it per your use case to make it more specific.

Highlighted

Himanshu_Singhal

MVP

02-01-2019

Hi Gaurav,

Thanks for the code.

The code I made it work as per the requirement. But, what's happening is when I try to check the radio button using JavaScript/jQuery, that part is working fine as it's checking the radio button but when I try to trigger click event then it has no effect and nothing appears in the filter. However, if we click on radio button physically(manual click) then it appears in the filter.

Any idea?

Highlighted

Gaurav-Behl

MVP

02-01-2019

Did you use http://api.jquery.com/trigger/ to trigger the click event or some other way?

Did you apply debug breakpoint or check console logs to see if the issue is with trigger event or otherwise with code? Do you see modified DOM after the trigger event has finished processing?

Can you test the same code in different browser to rule out any issues with your source code?

Can you share the code that is not working?