function loadIFrame() {
window.fetchActivtities = new FetchViewer("IFRAME_TEST");
fetchActivtities.FetchXml = getFetchXml();
fetchActivtities.LayoutXml = getLayoutXml();
fetchActivtities.Entity = "activitypointer";
fetchActivtities.QueryId = "{00000000-0000-0000-00aa-000010001899}"; // view GUID
fetchActivtities.RegisterOnTab(2); //IFRAME TAB INDEX
}
function getFetchXml() {
// FetchXML Query
return ' <fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">' +
'<entity name="activitypointer">' +
' <attribute name="subject" />' +
' <attribute name="scheduledstart" />' +
' <attribute name="regardingobjectid" />' +
' <attribute name="prioritycode" />' +
' <attribute name="scheduledend" />' +
' <attribute name="activitytypecode" />' +
' <attribute name="instancetypecode" />' +
' <order attribute="scheduledend" descending="false" />' +
'<filter type="and">'+
'<condition attribute="regardingobjectid" operator="in">'+
'<value uitype="account">{7CC58DF6-3114-E111-8E22-1CC1DEEAE7D7}</value>'+
' </condition>'+
'</filter>'+
' <attribute name="activityid" />' +
' </entity>' +
' </fetch>';
}
function getLayoutXml() {
// grid layout, you can get easily from Customization.xml file
return '<grid name="resultset" object="4200" jump="subject" select="1" icon="1" preview="1">' +
' <row name="result" id="activityid" multiobjectidfield="activitytypecode">' +
' <cell name="instancetypecode" width="100" ishidden="1" />' +
' </row>' +
' </grid>';
}
function FetchViewer(iframeId) {
var Instance = this;
var vDynamicForm;
var m_iframeTab;
var m_iframeDoc;
Instance.Entity = "";
Instance.Iframe = null;
Instance.FetchXml = "";
Instance.QueryId = "";
Instance.LayoutXml = "";
Instance.RegisterOnTab = function (tabIndex) {
Instance.Iframe = document.getElementById(iframeId);
if (!Instance.Iframe)
return alert("Iframe " + iframeId + " is undefined");
m_iframeDoc = getIframeDocument();
var loadingGifHTML = "<table height='100%' width='100%' style='cursor:wait'>";
loadingGifHTML += "<tr>";
loadingGifHTML += "<td valign='middle' align='center'>";
loadingGifHTML += "<img alt='' src='/_imgs/AdvFind/progress.gif'/>";
loadingGifHTML += "<div/><b>Loading View...</b>";
loadingGifHTML += "</td></tr></table>";
m_iframeDoc.body.innerHTML = loadingGifHTML;
Instance.Refresh();
}
function RefreshOnReadyStateChange() {
if (Instance.Iframe.readyState != 'complete')
return;
Instance.Refresh();
}
Instance.Refresh = function () {
if (!Instance.Iframe)
return alert("Iframe " + iframeId + " is undefined");
m_iframeDoc = getIframeDocument();
Instance.Iframe.detachEvent("onreadystatechange", RefreshOnReadyStateChange);
var create = m_iframeDoc.createElement;
var append1 = m_iframeDoc.appendChild;
vDynamicForm = create("<FORM name='vDynamicForm' method='post'>");
var append2 = vDynamicForm.appendChild;
append2(create("<INPUT type='hidden' name='FetchXml'>"));
append2(create("<INPUT type='hidden' name='LayoutXml'>"));
append2(create("<INPUT type='hidden' name='EntityName'>"));
append2(create("<INPUT type='hidden' name='DefaultAdvFindViewId'>"));
append2(create("<INPUT type='hidden' name='ViewType'>"));
append1(vDynamicForm);
vDynamicForm.action = prependOrgName("/AdvancedFind/fetchData.aspx");
vDynamicForm.FetchXml.value = Instance.FetchXml;
vDynamicForm.LayoutXml.value = Instance.LayoutXml;
vDynamicForm.EntityName.value = Instance.Entity;
vDynamicForm.DefaultAdvFindViewId.value = Instance.QueryId;
vDynamicForm.ViewType.value = 1039;
vDynamicForm.submit();
Instance.Iframe.attachEvent("onreadystatechange", OnViewReady);
}
function OnViewReady() {
if (Instance.Iframe.readyState != 'complete') return;
Instance.Iframe.style.border = 0;
Instance.Iframe.detachEvent("onreadystatechange", OnViewReady);
m_iframeDoc = getIframeDocument();
m_iframeDoc.body.scroll = "no";
m_iframeDoc.body.style.padding = "0px";
}
function getIframeDocument() {
return Instance.Iframe.contentWindow.document;
}
}