Thursday 11 October 2012

IPC without refreshing the page

Portlet A
---------

function triggerEvent(urlRender,  redirectURL){
   Liferay.fire(

      'RefreshEvent', {
         urlRender: urlRender,
         redirectURL: redirectURL
   }
}


Portlet B
---------

<div id="javascriptDiv">

<script type="text/javascript">

    Liferay.on('RefreshEvent',function(event) {
   
        var urlRender = event.urlRender;
         var redirectURL = event.redirectURL;

        var urlPost = window.location.href.substring(0, window.location.href.lastIndexOf('?'));
   
        if(urlPost == ""){
            urlPost += window.location.href;
        }
        urlPost += urlRender;
        urlPost += redirectURL;

        ajaxCall(urlPost);
    });
   
    function ajaxCall(urlPost){
        AUI().use('aui-overlay-mask', function(A) {
      
            var overlayMask = new A.OverlayMask().render();
            overlayMask.set('target', document);

            var message = A.Node.create('<h3 class="message">Loading...</h3>')
            var showMessage = function() {
                message.appendTo(document.body);
            };
            jQuery.ajax(
                    {
                         url:urlPost,
                         beforeSend: function() {
                             overlayMask.show();
                             showMessage();
                         },
                        cache: false,
                         success:function(result){
                             jQuery("#ajaxloading").html("");
                             jQuery("#ajaxAssetPublisher").html(result);
                             overlayMask.hide();
                             message.remove();
                           }
                     }
             );
            jQuery("#defaultAssetPublisher").hide();
            jQuery("#javascriptDiv").empty();
        });
    }
</script>
</div>

<div id="ajaxAssetPublisher"></div>
<div id="defaultAssetPublisher" >
//Here is the some code before interaction
</div>

No comments:

Post a Comment