ttajic
8/28/2015 - 8:42 AM

Show specific activities view in IFRAME

Show specific activities view in IFRAME

//*****Javascript for displaying activities in IFRAME*********
//Author: Gregor Hojnik                                                       *
//Date: 07.07.2014                                                                *
//Company: Avtenta                                                             *
//iframeObjId – iframe control schema name                      *
//objectType  – container entity code                                  *
//areaName    – related entity area name                            *
//formId      – entity form id (optional)                                 *
//sample call OnLoad: "IFRAME_ShowView", 2, "areaActivities", "Aktivnosti",""
//************************************************************
function SetIframeContent(iframeObjId, objectType, areaName, iframeTitle, formId) {
    //Get iframe control
    var iframeObject = Xrm.Page.ui.controls.get(iframeObjId);
    if (iframeObject != null) {
        //assemble URL
        var strURL = "/userdefined/areas.aspx?rof=true&formid=" + formId + "&navItemName=" + iframeTitle + "&oId=" + Xrm.Page.data.entity.getId() + "&oType=" + objectType + "&pagemode=iframe&security=852023&tabSet=" + areaName;

        //Set iframe URL
        iframeObject.setSrc(strURL);
    }
}

///sample call OnLoad: 'Activities', 'All', "crmGrid_Contact_ActivityPointers_datefilter"
function SetIframeView(type, defaultValue, fieldName) {
    SetDefaultView = function (viewCombo, viewName, appGrid) {
        if (viewCombo.value != viewName) {
            viewCombo.value = viewName;

            var evt = document.createEvent("HTMLEvents");
            evt.initEvent("change", false, true);
            viewCombo.dispatchEvent(evt);

            //appGrid.RefreshGridView();
        }
    }

    document.getElementById('IFRAME_ShowView').onreadystatechange = function () {
        if (this.readyState == "complete") {
            var frame = document.frames["IFRAME_ShowView"];
            var viewCombo = frame.document.getElementById(fieldName);
            var appGrid = frame.document.getElementById("AppGridFilterContainer");
            if (viewCombo.readyState == "complete") {
                SetDefaultView(viewCombo, defaultValue, appGrid);
            }

            else {
                viewCombo.onreadystatechange = function () {
                    if (this.readyState == "complete") {
                        SetDefaultView(this, defaultValue, appGrid);
                    }
                }
            }
        }
    }
}