var objJetViewer; var objTree; var objCBTree; var objRIBTree; var objHBTree; var objCB; var objRIB; var objHistoryBar; var objJetViewer; var objReportTreeLeft; var objReportTreeRight; var objSummaryTreeLeft; var objSummaryTreeRight; var objReportPage; var objSFBTree; var objSummaryBar; var objSFPage; function Init() { objReportTreeLeft=new CBISTTree('objReportTreeLeft'); objReportTreeRight=new CBISTTree('objReportTreeRight'); objSummaryTreeLeft=new CBISTTree('objSummaryTreeLeft'); objSummaryTreeRight=new CBISTTree('objSummaryTreeRight'); objReportPage=new CReportPage(objReportTreeLeft,objReportTreeRight,'objReportPage'); objSummaryBar=new CSummaryBar(objSummaryTreeLeft,objSummaryTreeRight,'objSummaryBar'); objCBTree=new CBISTTree('objCBTree'); objRIBTree=new CBISTTree('objRIBTree'); objHBTree=new CBISTTree('objHBTree'); objSFBTree=new CBISTTree('objSFBTree'); objTree=new CBISTTree('objTree'); getObj('treeDiv').innerHTML=objTree.GetHTML(); objCB=new CCriteriaBar(objCBTree,'objCB'); getObj('cbDiv').innerHTML=objCB.GetHTML(); objRIB=new CRIBar(objRIBTree,'objRIB'); getObj('ribDiv').innerHTML=objRIB.GetHTML(); objHistoryBar=new CHistoryBar(objHBTree,'objHistoryBar'); getObj('hbDiv').innerHTML=objHistoryBar.GetHTML(); objStoredFolderBar=new CHistoryBar(objSFBTree,'objStoredFolderBar'); getObj('sfbDiv').innerHTML=objStoredFolderBar.GetHTML(); objSFPage=new CSFPage('objSFPage'); objJetViewer=new CJetViewer(iViewID,objTree,objCB,objRIB,objHistoryBar,objReportPage,objStoredFolderBar,objSummaryBar,objSFPage); }function CSummary() { var m_aElements=Array(); var m_iDrillDownLevel=0; var m_aDrillDownLevelElements=Array(); var m_aDrillDownLevelSetActive=Array(); this.ResetDrilldown=mf_ResetDrilldown; function mf_ResetDrilldown() { m_iDrillDownLevel=0; m_aDrillDownLevelElements=Array(); m_aDrillDownLevelSetActive=Array(); } var m_bIncludeRecordCount=true; var m_CubeGraphDefinition=false; this.GetQuery=mf_GetQuery; function mf_GetQuery() { var objQuery=new CQuery(); var aQueryElements=objQuery.GetElements(); for(var i=0;i1; } this.Set2ActiveGroupBys=mf_Set2ActiveGroupBys; function mf_Set2ActiveGroupBys() { var iActiveGroupBys=0; for(var i=0;i0; } this.RemoveLastDrillDown=mf_RemoveLastDrillDown; function mf_RemoveLastDrillDown(objCriteria) { for(i=0;i\n"; for(var i=0;i"; sXML+="\n"; return sXML; } this.AddSummaryElement=mf_AddSummaryElement; function mf_AddSummaryElement(SummaryElement) { m_aElements[m_aElements.length]=SummaryElement; mf_ResetDrilldown(); } this.RemoveElement=mf_RemoveElement; function mf_RemoveElement(elementIndex) { var aRemainingElements=Array(); for(var i=0;i="); objCriteriaForAdd.AddQueryElement(objCriteriaElement); objCriteriaElement=new CQueryElement(); objCriteriaElement.SetObjectMap(m_Field.GetObjectMap()); objCriteriaElement.SetSpawnedBy(this); objCriteriaElement.SetOperator("<"); objCriteriaElement.SetField(m_Field); objCriteriaElement.SetValue(mf_GetIntervalLimit(sValue,true)); } objCriteriaForAdd.AddQueryElement(objCriteriaElement); } function mf_GetIntervalLimit(sValue,bUpper) { switch(m_sGroupByInterval) { case "10": case "100": case "1,000": case "10,000": case "100,000": case "1,000,000": return parseInt(sValue,10)+parseInt(m_sGroupByInterval.replace(",",""),10); } } this.SetGroupByInterval=mf_SetGroupByInterval; function mf_SetGroupByInterval(sGroupByInterval) { m_sGroupByInterval=sGroupByInterval; } this.GetGroupByInterval=mf_GetGroupByInterval; function mf_GetGroupByInterval(sGroupByInterval) { return m_sGroupByInterval; } this.GetField=mf_GetField; function mf_GetField() { return m_Field; } this.SetField=mf_SetField; function mf_SetField(objField) { m_Field=objField; } this.GetQueryElement=mf_GetQueryElement; function mf_GetQueryElement() { return m_QueryElement; } this.SetQueryElement=mf_SetQueryElement; function mf_SetQueryElement(objQueryElement) { m_QueryElement=objQueryElement; } this.LoadXML=mf_LoadXML; function mf_LoadXML(objXML) { m_sFieldID=objXML.getAttribute("sfieldid"); m_sOperator=objXML.getAttribute("soperator"); m_sName=objXML.getAttribute("sname"); m_sGroupByInterval=objXML.getAttribute("sgroupbyinterval"); m_bActive=1==parseInt(objXML.getAttribute("bactive")); var objNodeList=objXML.getElementsByTagName("cqueryelement"); if(objNodeList.length) { m_QueryElement=new CQueryElement(); m_QueryElement.LoadXML(objNodeList[0]); } } this.Clone=mf_Clone; function mf_Clone() { var objClone=new CSummaryElement(); objClone.SetBaseValues( { sFieldID:m_sFieldID, sName:m_sName, }); objClone.SetOperator(m_sOperator); objClone.SetGroupByInterval(m_sGroupByInterval); objClone.SetActive(m_bActive); if(m_QueryElement) objClone.SetQueryElement(m_QueryElement.Clone()); return objClone; } this.SetBaseValues=mf_SetBaseValues; function mf_SetBaseValues(objValues) { m_sFieldID=objValues.sFieldID; m_sName=objValues.sName; } this.GetName=mf_GetName; function mf_GetName() { return m_sName; } this.SetName=mf_SetName; function mf_SetName(sName) { m_sName=sName; } this.GetXML=mf_GetXML; function mf_GetXML() { var sXML=""; sXML+="\n"; if(m_QueryElement) sXML+=m_QueryElement.GetXML(); sXML+="\n"; return sXML; } this.GetIconPath=mf_GetIconPath; function mf_GetIconPath() { return "fa fa-caret-right"; } this.MakeName=mf_MakeName; function mf_MakeName() { var sName=m_sFieldID; if(m_Field) sName=m_Field.GetName(); if(m_sOperator=="group by") { m_sName=sName; } else { m_sName=m_sOperator+" "+sName; } } this.SetFieldID=mf_SetFieldID; function mf_SetFieldID(sFieldID) { m_sFieldID=sFieldID; } this.GetFieldID=mf_GetFieldID; function mf_GetFieldID() { return m_sFieldID; } this.GetOperator=mf_GetOperator; function mf_GetOperator() { return m_sOperator; } this.GetDescription=mf_GetDescription; function mf_GetDescription() { var sDesc=""; if(m_sOperator!="group by") sDesc+=m_sOperator+" of "; if(m_Field) sDesc+=m_Field.GetName(); else sDesc+="records"; if(m_sGroupByInterval!=""&&m_sGroupByInterval!="none") sDesc+="("+m_sGroupByInterval+")"; return sDesc; } } function convertmonthtostr(iMonth) { switch(iMonth) { case 1: return "January"; case 2: return "Feruary"; case 3: return "March"; case 4: return "April"; case 5: return "May"; case 6: return "June"; case 7: return "July"; case 8: return "August"; case 9: return "September"; case 10: return "October"; case 11: return "November"; case 12: return "December"; } }function CSummaryBar(objTreeLeft,objTreeRight,sObjID) { var m_JetViewer=null; var m_TreeLeft=objTreeLeft; m_TreeLeft.SetCallback(mf_treeCallbackLeft); m_TreeLeft.SetNoPlusMinus(true); var m_TreeRight=objTreeRight; var m_ObjectMap; m_TreeRight.SetCallback(mf_treeCallbackRight); m_TreeRight.SetNoPlusMinus(true); var m_iUIMode;//0 no action, 1=aggregate element selected 2=select field Aggregate,3=select function Aggregate,4=group by field selected 5=select field group by,6=select GB interval var m_iCurrentLeftElementIndex; var m_iCurrentRightElementIndex; var m_bAdd=false; var m_CurrentSummaryElement; var m_bCurrentElementModified=false var m_CurrentDataObject=null; var m_sObjID=sObjID; var m_sStartAggFieldsOuterHTML="Select the field to use: "; var m_sStartGBFieldsOuterHTML="Select the field to use: "; var m_sCloseSelect=""; var m_DataDiv; var m_divAggFields; var m_divGBFields; this.Merge=mf_Merge; function mf_Merge(iIndex,bMerge) { m_Summary.Merge(iIndex,bMerge); } this.SetJetViewer=mf_SetJetViewer; function mf_SetJetViewer(objJetViewer) { m_JetViewer=objJetViewer; } this.AttachControls=mf_AttachControls; function mf_AttachControls() { m_DataDiv=getObj('divSummaryDataDiv'); m_divAggFields=getObj('divAggFields'); m_divGBFields=getObj('divGBFields'); m_divAggOperators=getObj('divAggOperators'); m_divGBIntervals=getObj('divGBIntervals'); } function mf_GetOperatorsOptions(sCurrent) { return m_JetViewer.GetView().GetAggregateSummaryOptions(m_CurrentSummaryElement.GetField().GetDataType(),false,sCurrent); } function mf_GetGroupByIntervalOptions(sCurrent) { return m_JetViewer.GetView().GetGroupByIntervalOptions(m_CurrentSummaryElement.GetField().GetDataType(),sCurrent); } this.GetDataDiv=mf_GetDataDiv; function mf_GetDataDiv() { return m_DataDiv; } function mf_Clear() { m_TreeLeft.Clear(); m_TreeRight.Clear(); } this.UpdateDisplay=mf_UpdateDisplay; function mf_UpdateDisplay(objDataObject) { if(objDataObject) { m_iUIMode=0; m_CurrentDataObject=objDataObject; m_Summary=m_CurrentDataObject.GetSummary(); } mf_Clear(); var aElements=m_Summary.GetElements(); for(var i=0;i1) { getObj("rdSummaryCTab").checked=true; m_Summary.Set2ActiveGroupBys(); break; } m_CurrentDataObject.SetSummaryViewMode(0); case 0: getObj("rdSummaryTab").checked=true; break; case 2: getObj("rdSummaryChart").checked=true; break; case 3: getObj("rdSummaryCubeGraph").checked=true; break; } switch(m_iUIMode) { case 0://no action m_JetViewer.ReleaseFocus("aggregates"); m_JetViewer.ReleaseFocus("groups"); SetVisible("divAggAdd",true); SetVisible("divGBAdd",true); SetVisible("divAggSuggestSelect",true); if(m_Summary.GetNoGroupBys()>1) SetVisible("divGBSuggestSelect",true); break; case 1:// aggregate field selected SetVisible("divAggAdd",true); SetVisible("divAggEditDelete",true); SetVisible("divGBAdd",true); break; case 2://new agg field m_JetViewer.DoFocus("aggregates"); SetVisible("divAggFields",true); SetVisible("divAggOkCancel",true); SetEnabled("pbAggOk",false); SetVisible("divGBAdd",true); break; case 3://edit agg field m_JetViewer.DoFocus("aggregates"); m_divAggOperators.innerHTML=m_sStartAggOperatorsOuterHTML+mf_GetOperatorsOptions(m_CurrentSummaryElement.GetOperator())+m_sCloseSelect+" for "+m_CurrentSummaryElement.GetField().GetName(); SetVisible("divAggOperators",true); SetVisible("divAggOkCancel",true); SetEnabled("pbAggOk",true); SetVisible("divGBAdd",true); break; case 4://gb field selected m_JetViewer.ReleaseFocus("groups"); SetVisible("divAggAdd",true); SetVisible("divGBAdd",true); SetVisible("divGBEditDelete",true); break; case 5: m_JetViewer.DoFocus("groups"); SetVisible("divAggAdd",true); SetVisible("divGBFields",true); SetVisible("divGBOkCancel",true); SetEnabled("pbGBOk",false); break; case 6: SetVisible("divAggAdd",true); m_JetViewer.DoFocus("groups"); var sIntervalHTML=mf_GetGroupByIntervalOptions(m_CurrentSummaryElement.GetGroupByInterval()); m_divGBIntervals.innerHTML="Group "+m_CurrentSummaryElement.GetField().GetName()+ " by " + m_sStartGBIntervalsOuterHTML+sIntervalHTML+m_sCloseSelect; SetVisible("divGBIntervals",true); SetVisible("divGBOkCancel",true); SetEnabled("pbGBOk",true); break; } } this.onAggAddClick=mf_onAggAddClick; function mf_onAggAddClick() { m_ObjectMap=m_CurrentDataObject.GetObjectMap(); m_divAggFields.innerHTML=m_sStartAggFieldsOuterHTML+m_ObjectMap.GetFieldsOptions()+m_sCloseSelect; m_bAdd=true; m_CurrentSummaryElement=new CSummaryElement(); m_iUIMode=2; m_bCurrentElementModified=true; mf_UpdateDisplayControls(); } this.AddRelatedSummaryElement=mf_AddRelatedSummaryElement; function mf_AddRelatedSummaryElement(bGroupBy,objObjectMap,objQueryElement) { if(objObjectMap) { objQueryElement.SetGetData(true); m_ObjectMap=objObjectMap; m_CurrentSummaryElement=new CSummaryElement(); m_CurrentSummaryElement.SetQueryElement(objQueryElement); if(bGroupBy) m_iUIMode=5; else m_iUIMode=2; } m_bAdd=true; if(!m_ObjectMap.GetFields()) { m_ObjectMap.LoadFieldsServer(mf_AddRelatedSummaryElement) return; } m_divGBFields.innerHTML=m_sStartGBFieldsOuterHTML+m_ObjectMap.GetFieldsOptions()+m_sCloseSelect; m_divAggFields.innerHTML=m_sStartAggFieldsOuterHTML+m_ObjectMap.GetFieldsOptions()+m_sCloseSelect; if(m_iUIMode==2&&getObj("ptSummaryAggFields").options.length==1) { var aFields=m_ObjectMap.GetFields(); for(var i=0;i1) m_Summary.SetStartDrillDown(); m_JetViewer.RefreshData(); } function mf_Transpose() { m_Summary.TransposeGroupBys(); mf_UpdateDisplay(m_CurrentDataObject); } this.SwitchActiveGroupBy=mf_SwitchActiveGroupBy; function mf_SwitchActiveGroupBy(iFrom,iTo) { m_Summary.SwitchActiveGroupBy(iFrom,iTo); } this.GetHTML=mf_GetOuterHTML; function mf_GetOuterHTML() { var sHTML=""; sHTML+="
"; sHTML+="
"; sHTML+="
Summary Definition TabularCrosstab"; sHTML+="Chart"; sHTML+="Cube Graph
"; sHTML+="
"; sHTML+="
  • Cumulative Values

    "+m_TreeLeft.GetHTML()+"
    To edit a cumulative value select it.
    To add another cumulative value:
    To change the function: or to delete it:
"; sHTML+="
  • Grouped By

    "+m_TreeRight.GetHTML()+"
    To edit a grouping select it.
    To break down the results by group:
    To change the grouping interval: or to remove it:
"; sHTML+="
"; sHTML+="
"; return sHTML; } }function CHistoryBar(objTree,sObjID) { var m_JetViewer=null; var m_Tree=objTree; m_Tree.SetCallback(mf_treeCallback); m_Tree.SetNoPlusMinus(true); var m_sObjID=sObjID; this.SetJetViewer=mf_SetJetViewer; function mf_SetJetViewer(objJetViewer) { m_JetViewer=objJetViewer; } this.Clear=mf_Clear; function mf_Clear() { m_Tree.Clear(); } this.UpdateDisplay=mf_UpdateDisplay; function mf_UpdateDisplay() { m_Tree.UpdateDisplay(); } this.Add=mf_Add; function mf_Add(objDataObject) { if(m_Tree.GetNodeByID(objDataObject.GetDataObjectID())) return; var iHistoryParentID=objDataObject.GetHistoryParentID(); if(iHistoryParentID) { m_Tree.AddNewNodeToNode(m_Tree.GetNodeByID("hi_"+iHistoryParentID),"hi_"+objDataObject.GetDataObjectID(),objDataObject.GetDisplayID(),objDataObject.GetObjectMap().GetFolderIconPath(),objDataObject.GetObjectMap().GetFolderIconPath(),objDataObject.GetDataObjectID(),"","",""); } else m_Tree.AddNewRootNode("hi_"+objDataObject.GetDataObjectID(),objDataObject.GetDisplayID(),objDataObject.GetObjectMap().GetFolderIconPath(),objDataObject.GetObjectMap().GetFolderIconPath(),objDataObject.GetDataObjectID(),"","",""); m_Tree.UpdateDisplay(); } this.Select=mf_Select; function mf_Select(objDataObject) { m_Tree.SelectNodeByID("hi_"+objDataObject.GetDataObjectID()); } this.Remove=mf_Remove; function mf_Remove(objDataObject) { m_Tree.DeleteNodeByID("hi_"+objDataObject.GetDataObjectID()); } function mf_treeCallback(sAction,sID,sExternalID,sType,sParameter,sLabel) { switch(sAction) { case "select": switch(sType) { default: var elementIndex=parseInt(sExternalID,10); var obj=m_JetViewer.GetHistoryDataObject(elementIndex); m_JetViewer.SelectDataObject(obj,true); obj.UpdateUsed(); break; } break; case "dblclick": switch(sType) { default: break; } break; } return true; } this.GetHTML=mf_GetOuterHTML; function mf_GetOuterHTML() { var sHTML=""; sHTML+=m_Tree.GetHTML(); return sHTML; } } function CSFPage(sObjID) { var m_JetViewer=null; var m_DataObjects={}; var m_sObjID=sObjID; this.SetJetViewer=mf_SetJetViewer; function mf_SetJetViewer(objJetViewer) { m_JetViewer=objJetViewer; } this.Add=mf_Add; function mf_Add(objDataObject) { m_DataObjects[objDataObject.GetDataObjectID()]=objDataObject; } this.Remove=mf_Remove; function mf_Remove(objDataObject) { m_DataObjects[objDataObject.GetDataObjectID()]=null; } this.Click=mf_Click; function mf_Click(iDataObject) { var obj=m_DataObjects[iDataObject]; hide_popup(); m_JetViewer.ShowInStoredFolderBar(obj); m_JetViewer.SelectDataObject(obj,true); obj.UpdateUsed(); } this.Clear=mf_Clear; function mf_Clear() { m_DataObjects={}; } this.GetHTML=mf_GetOuterHTML; function mf_GetOuterHTML() { var sHTML="
Stored Queries
"; var iCount=0; var aGroupNames=[]; if(bTabbedStoredFolders) { sHTML+="
    "; } var aGroupCount={}; for (iDataObject in m_DataObjects) { var obj=m_DataObjects[iDataObject]; if(!obj) continue; var sShowGroupName=obj.GetGroupName(); if(!sShowGroupName) sShowGroupName="Not Grouped"; if(aGroupNames.indexOf(obj.GetGroupName())<0) { aGroupCount[obj.GetGroupName()]=0; aGroupNames[aGroupNames.length]=obj.GetGroupName(); aGroupCount[obj.GetGroupName()]++; if(bTabbedStoredFolders) { sHTML+="
  • "+sShowGroupName+"

  • "; } } iCount++; } if(bTabbedStoredFolders) { sHTML+="
"; } else { sHTML+="
"; } var iInCol=iCount/3; if(iInCol<5) iInCol=10; if(iInCol>50) iInCol=50; var i=0; var bFirstGroup=true; for(iGroupName in aGroupNames) { var sGroupName=aGroupNames[iGroupName]; if(bTabbedStoredFolders) { iInCol=aGroupCount[sGroupName]/3; if(iInCol<5) iInCol=10; if(iInCol>50) iInCol=50; } if(!bFirstGroup) { if(!bTabbedStoredFolders) { sHTML+="
"; } } var sShowGroupName=sGroupName; if(!sShowGroupName) sShowGroupName="Not Grouped"; if(bTabbedStoredFolders) { sHTML+="
"; sHTML+="
"; i=0; } else { sHTML+="

"+sShowGroupName+"

"; } for (iDataObject in m_DataObjects) { var obj=m_DataObjects[iDataObject]; if(!obj) continue; if(obj.GetGroupName()!=sGroupName) continue; bFirstGroup=false; sHTML+="" sHTML+="'; sHTML+="
"; i++; if(i>iInCol) { sHTML+="
"; bFirstGroup=true; i=0; } } if(bTabbedStoredFolders) { sHTML+='
'; } } if(!bTabbedStoredFolders) { sHTML+='
'; } return sHTML; } } function CRelation(ObjectMap,View) { var m_this=this; var m_sCurrentSide; //advanced var m_bIsMasterRelation; var m_MasterRelation; var m_OneRelation; var m_ManyRelation; var m_bPartOfLinkRelation; //display parameters var m_sManySidePrefix; var m_sOneSidePrefix; var m_bShowToOne; var m_sOneOMFolder; var m_sManyOMFolder; //core paramaters var m_bOneToOne; var m_bIndeterminate; var m_sRelationID; var m_sManyObjectMapID; var m_sOneObjectMapID; var m_sManyObjectMapName; var m_sOneObjectMapName; var m_sManyObjectMapIconPath; var m_sOneObjectMapIconPath; var m_sManyObjectMapFolderIconPath; var m_sOneObjectMapFolderIconPath; var m_bTowardsOne; var m_bIsMasterRelation; var m_sFirstRelationID; var m_sSecondRelationID; //structure links var m_OneObjectMap; var m_View=View; var m_ManyObjectMap; var m_ObjectMap=ObjectMap; //instantiation var m_bValid_ManyObjectMap=false; var m_bValid_OneObjectMap=false; this.LoadXML=mf_LoadXML; function mf_LoadXML(objXML) { m_sRelationID=objXML.getAttribute("srelationid"); m_sManyObjectMapID=objXML.getAttribute("smanyobjectmapid"); m_sOneObjectMapID=objXML.getAttribute("soneobjectmapid"); m_sCurrentSide=objXML.getAttribute("scurrentside"); m_sManyObjectMapName=objXML.getAttribute("smanyobjectmapname"); m_sOneObjectMapName=objXML.getAttribute("soneobjectmapname"); m_sManyObjectMapIconPath=objXML.getAttribute("smanyobjectmapiconpath"); m_sOneObjectMapIconPath=objXML.getAttribute("soneobjectmapiconpath"); m_sManySidePrefix=objXML.getAttribute("smanysideprefix"); m_sOneSidePrefix=objXML.getAttribute("sonesideprefix"); m_sOneOMFolder=objXML.getAttribute("soneomfolder"); m_sManyOMFolder=objXML.getAttribute("smanyomfolder"); m_sOneObjectMapFolderIconPath=objXML.getAttribute("soneobjectmapfoldericonpath"); m_sManyObjectMapFolderIconPath=objXML.getAttribute("smanyobjectmapfoldericonpath"); m_bShowToOne=1==parseInt(objXML.getAttribute("bshowtoone"),10); m_bOneToOne=1==parseInt(objXML.getAttribute("bonetoone"),10); m_bIndeterminate=1==parseInt(objXML.getAttribute("bindeterminate"),10); m_bIsMasterRelation=1==parseInt(objXML.getAttribute("bismasterrelation"),10); if(m_bIsMasterRelation) { m_sFirstRelationID=objXML.getAttribute("sfirstrelationid"); m_sSecondRelationID=objXML.getAttribute("ssecondrelationid"); } if(m_sCurrentSide==m_sManyObjectMapID) { m_ManyObjectMap=m_ObjectMap; m_bValid_ManyObjectMap=true; m_bTowardsOne=true; } else { m_OneObjectMap=m_ObjectMap; m_bValid_OneObjectMap=true; m_bTowardsOne=false; } } this.ReverseToSelf=mf_ReverseToSelf; function mf_ReverseToSelf() { if(!mf_IsToSelf()) return; m_bTowardsOne=false; if(m_bValid_ManyObjectMap) { m_OneObjectMap=m_ManyObjectMap; m_bValid_OneObjectMap=true; } } this.IsToSelf=mf_IsToSelf; function mf_IsToSelf() { return(m_sManyObjectMapID==m_sOneObjectMapID); } this.GetIconPath=mf_GetIconPath; function mf_GetIconPath() { if(m_bTowardsOne) { if(m_bIndeterminate) return m_sOneObjectMapFolderIconPath; else return m_sOneObjectMapIconPath; } else { return m_sManyObjectMapFolderIconPath; } } this.GetFolder=mf_GetFolder; function mf_GetFolder() { if(m_bTowardsOne) { return m_sOneOMFolder; } else { return m_sManyOMFolder; } } this.GetDescription=mf_GetDescription; function mf_GetDescription() { return mf_GetDirectionalDescription(m_bTowardsOne); } this.GetReverseDescription=mf_GetReverseDescription; function mf_GetReverseDescription() { return mf_GetDirectionalDescription(!m_bTowardsOne); } this.GetDirectionalDescription=mf_GetDirectionalDescription; function mf_GetDirectionalDescription(bToOne) { if(bToOne) { return m_sOneSidePrefix+m_sOneObjectMapName; } else { return m_sManySidePrefix+m_sManyObjectMapName; } } this.GetOtherObjectMapID=mf_GetOtherObjectMapID; function mf_GetOtherObjectMapID() { if(m_bTowardsOne) { return m_sOneObjectMapID; } else { return m_sManyObjectMapID; } } this.GetTowardsOne=mf_GetTowardsOne; function mf_GetTowardsOne() { return m_bTowardsOne; } this.GetRelationID=mf_GetRelationID; function mf_GetRelationID() { return m_sRelationID; } this.GetServerRelationID=mf_GetServerRelationID; function mf_GetServerRelationID(bReverse) { if(!m_bIsMasterRelation) return m_sRelationID; if(bReverse) return m_sSecondRelationID; return m_sFirstRelationID; } } function CBISTTree(sObjID) { var m_bMultiSelect; var m_sObjID; var m_funcCallback=null; var m_anNodes=[]; var m_asNodeIDs=[]; var m_anRootNodes=[]; var m_nSelected=null; var m_asSelectedIDs=[]; var m_bNeedsCompleteRender=true; var m_this=this; var m_bNoPlusMinus=false; var m_bNoScroll=false; m_sObjID=sObjID; this.GetSelectedNodeIDs=mf_GetSelectedNodeIDs; function mf_GetSelectedNodeIDs() { return m_asSelectedIDs; } this.SetNoScroll=mf_SetNoScroll; function mf_SetNoScroll(bNoScroll) { m_bNoScroll=bNoScroll; } this.SetMultiSelect=mf_SetMultiSelect; function mf_SetMultiSelect(bMultiSelect) { m_bMultiSelect=bMultiSelect; } this.PerformAction=mf_PerformAction; function mf_PerformAction(sID,sAction,bTryCallback,event) { if(window.event) { window.event.cancelBubble = true; } var nNode=mf_GetNodeByID(sID); if(!nNode) return; var sData1=nNode.GetData1(); if(bTryCallback&&m_funcCallback) { var sData2=nNode.GetData2(); var sData1=nNode.GetData1(); var sExternalID=nNode.GetExternalID(); var sLabel=nNode.GetLabel(); if(!m_funcCallback(sAction,sID,sExternalID,sData1,sData2,sLabel)) return; } switch(sAction) { case "toggle": mf_ToggleNode(nNode); break; case "select": mf_SelectNode(nNode,true,(event)?event.ctrlKey:null); break; } } this.SetCallback=mf_SetCallback; function mf_SetCallback(funcCallback) { m_funcCallback=funcCallback; } this.SetNoPlusMinus=mf_SetNoPlusMinus; function mf_SetNoPlusMinus(bNoPlusMinus) { m_bNoPlusMinus=bNoPlusMinus; } function mf_AddNodeToNode(nParentNode,nNode) { m_anNodes[m_anNodes.length]=nNode; m_asNodeIDs[m_asNodeIDs.length]=nNode.GetID(); if(!nParentNode) { m_bNeedsCompleteRender=true; m_anRootNodes[m_anRootNodes.length]=nNode; } else { nParentNode.SetNeedsRendering(); nParentNode.AddChild(nNode); } return m_anNodes.length-1; } function mf_GetNodeIndex(sID) { for(var i=0;i-1) { return mf_GetNodeByIndex(iNodeIndex); } var nNode=new CBISTTreeNode(m_sObjID,sID,sLabel,sImgPath,sOpenImgPath,sExternalID,sFunction,sData,m_bNoPlusMinus,sToolTip,m_bNoScroll); mf_AddNodeToNode(nParent,nNode); return nNode; } this.AddNewRootNode=mf_AddNewRootNode; function mf_AddNewRootNode(sID,sLabel,sImgPath,sOpenImgPath,sExternalID,sFunction,sData,sToolTip) { return mf_AddNewNodeToNode(null,sID,sLabel,sImgPath,sOpenImgPath,sExternalID,sFunction,sData,sToolTip); } this.GetNodeByIndex=mf_GetNodeByIndex; function mf_GetNodeByIndex(iNodeIndex) { if(iNodeIndex==-1) return false; return m_anNodes[iNodeIndex]; } this.OpenAll=mf_OpenAll; function mf_OpenAll() { mf_ToggleAll(true); } this.OpenNodeByID=mf_OpenNodeByID; function mf_OpenNodeByID(sID) { var nNode=mf_GetNodeByID(sID); if(nNode) { nNode.Open(); nNode.UpdateDisplay(); } } this.CloseNodeByID=mf_CloseNodeByID; function mf_CloseNodeByID(sID) { var nNode=mf_GetNodeByID(sID); if(nNode) { nNode.Close(); nNode.UpdateDisplay(); } } function mf_ToggleNode(nNode) { if(nNode.IsOpen()) nNode.Close(); else nNode.Open(); nNode.UpdateDisplay(); } this.SelectNodeByID=mf_SelectNodeByID; function mf_SelectNodeByID(sID,bDontScrollIntoView) { if(m_nSelected) { m_nSelected.SetSelected(false); m_nSelected=null; } var nNode=mf_GetNodeByID(sID); if(nNode) { mf_SelectNode(nNode,bDontScrollIntoView,false); } } function mf_SelectNode(nNode,bDontScrollIntoView,bShift) { if(m_bMultiSelect) { if(!bShift) { for(i=0;i\n"; sHTML+="
"; return sHTML; } function mf_GetInnerHTML() { var sHTML=""; for(var i=0;i\n"; sHTML+="
"; for(var i=0;i"; } if(!m_bNoPlusMinus) { var sPerformActionClick=m_sTreeID+'.PerformAction("'+sID+'","toggle",false,event);'; if(m_bHasChildren) { //if(m_bOpen) // sHTML+=""; // else // sHTML+=""; //if(m_bOpen) // sHTML+=""; // else // sHTML+=""; } else { sHTML+=""; } } sHTML+=""; if(m_bOpen) { if (m_sOpenImgPath.substr(0,5) == "fa fa") { sHTML+=""; } else { sHTML+=""; } } else { if (m_sImgPath.substr(0,5) == "fa fa") { sHTML+=""; } else { sHTML+=""; } } var sToolTip=m_sLabel; if(m_sToolTip&&m_sToolTip!="") sToolTip=m_sToolTip; sHTML+=""+m_sLabel+""; sHTML+=""; sHTML+="
\n"; if(m_bOpen&&m_bHasChildren) { for(var i=0;i"; } function SetEnabled(sID,bEnabled) { getObj(sID).disabled=!bEnabled; } function Blink(sID,iBlinkNo,sOriginalColor,sOriginalForeColor) { var obj=getObj(sID); if(!obj) return; if(!iBlinkNo) { obj.focus(); iBlinkNo=8; if(obj.currentStyle) { sOriginalColor=obj.currentStyle.backgroundColor; sOriginalForeColor=obj.currentStyle.color; } else { var objStyle=document.defaultView.getComputedStyle(obj, null); sOriginalColor=objStyle.getPropertyValue("backgroundColor"); sOriginalForeColor=objStyle.getPropertyValue("color"); } } var bOdd=iBlinkNo%2; if(!bOdd) { //obj.style.backgroundColor=sOriginalForeColor; obj.style.color=sOriginalColor; } else { //obj.style.backgroundColor=sOriginalColor; obj.style.color=sOriginalForeColor; } iBlinkNo--; if(iBlinkNo) { setTimeout("Blink('"+sID+"',"+iBlinkNo+",'"+sOriginalColor+"','"+sOriginalForeColor+"');",500); } } function ToggleVisible(sID) { if(getObj(sID).style.display=="none") SetVisible(sID,true); else SetVisible(sID,false); } function SetVisible(sID,bVisible) { var sDisplay=""; var sVisibility=""; if(!bVisible) { sDisplay="none"; sVisibility="hidden"; } getObj(sID).style.display=sDisplay; getObj(sID).style.visibility=sVisibility; } function ShowInfo(sSubject) { objJetViewer.ShowContextHelp(false,sSubject); } function GetFieldListXML(asFields) { var sXML="\n"; for(var i=0;i\n"; } sXML+="\n"; return sXML; } function LoadFieldListXML(objXML) { var aFieldList=Array(); var objNodeList=objXML.getElementsByTagName("field"); for (var i=0; i"; var m_sStartOperatorOuterHTML=""; var m_sStartValueOuterHTML=""; var m_sEmptyOption=""; var m_CriteriaForAdd; var m_bShowAnd; var m_bShowOr; var m_bDisabled; var m_dpValue=new DatePicker('dpValue'); var m_bCurrentElementIsRelational=false; this.SetJetViewer=mf_SetJetViewer; function mf_SetJetViewer(objJetViewer) { m_JetViewer=objJetViewer; } this.UpdateDisplay=mf_UpdateDisplay; function mf_UpdateDisplay(DataObject) { if(DataObject) m_CurrentDataObject=DataObject; m_Tree.Clear(); if(m_CurrentDataObject) { if(m_CurrentDataObject.IsSingleRecord()) { m_bDisabled=true; } else { m_bDisabled=false; mf_DisplayCriteria(m_CurrentDataObject.GetCriteria(),"",null); } } else { m_bDisabled=true; } m_Tree.UpdateDisplay(); m_bAdd=false; m_iUIMode=0; m_bCurrentElementModified=false; mf_UpdateDisplayControls(); } function mf_DisplayCriteria(objCriteria,sParentID,nParent) { var aElements=objCriteria.GetElements(); for(var i=0;i or to add "+m_CurrentDataObject.GetObjectMap().GetObjectMapName()+" criteria:"; else getObj("divCriteriaAddAddTo").innerHTML="To add "+objSelectedElement.GetDescription()+" criteria: or to add "+m_CurrentDataObject.GetObjectMap().GetObjectMapName()+" criteria:"; SetVisible("divCriteriaAddAddTo",true); SetVisible("divCriteriaDelete",true); break; case 2: m_JetViewer.ReleaseFocus("searchCriteria"); objSelectedElement=mf_GetSelectedCriteriaElement(sID); SetVisible("divCriteriaAddEdit",true); if(objSelectedElement.IsNone()) SetVisible("divCriteriaDelete",true); else SetVisible("divCriteriaEdit",true); break; case 3: m_JetViewer.DoFocus("searchCriteria"); SetVisible("divCriteriaField",true); SetVisible("divCriteriaAdvanced",true); SetVisible("divCriteriaOkCancel",true); SetEnabled("pbCriteriaOk",false); mf_ShowFields(); break; case 4: m_JetViewer.DoFocus("searchCriteria"); SetVisible("divCriteriaShowField",true); SetVisible("divCriteriaOperator",true); SetVisible("divCriteriaAggregate",m_CurrentCriteriaElement.GetAllowAggregates()); SetVisible("divCriteriaOkCancel",true); SetEnabled("pbCriteriaOk",true); SetEnabled("pbCriteriaCancel",true); mf_ShowElement(); break; case 5: m_JetViewer.DoFocus("searchCriteria"); if(m_bShowAnd) SetVisible("divCriteriaAdvancedAnd",true); if(m_bShowOr) SetVisible("divCriteriaAdvancedOr",true); if(m_bCurrentElementIsRelational) SetVisible("divCriteriaAdvancedNone",true); else if(mf_inSummaryMode()) SetVisible("divCriteriaAdvancedAggregate",true); SetVisible("divCriteriaOkCancel",true); SetEnabled("pbCriteriaOk",false); SetEnabled("pbCriteriaCancel",true); break; } } function mf_inSummaryMode() { return m_JetViewer.GetViewType()=="summary"; } function mf_treeCallback(sAction,sID,sExternalID,sType,sParameter,sLabel) { switch(sAction) { case "select": switch(sType) { case "criteriaelement": m_iUIMode=2; mf_UpdateDisplayControls(sExternalID); break; case "criteriafolder": m_iUIMode=1; mf_UpdateDisplayControls(sExternalID); break; default: break; } break; case "dblclick": switch(sType) { case "criteriaelement": mf_onEditClick(); break; default: break; } break; } return true; } function mf_ShowValueControl() { var sOperator=getObj("ptCriteriaOperator").options[getObj("ptCriteriaOperator").selectedIndex].value; var sAggOperator=getObj("ptCriteriaAggregate").options[getObj("ptCriteriaAggregate").selectedIndex].text; SetVisible("divCriteriaValue",false); SetVisible("divCriteriaValueText",false); if(sOperator=="none"||sAggOperator=="none"||sOperator=="not null") return; m_bUsingLookup=m_CurrentCriteriaElement.GetField().GetLookupValues()&&!getObj("ptCriteriaAggregate").selectedIndex&&!(sOperator=="like"); m_bMultiple=false; if(m_bUsingLookup&&sOperator=="in") m_bMultiple=true; if(m_bMultiple) { getObj("ptCriteriaValue").multiple=true; getObj("ptCriteriaValue").style.height="80px"; } else { getObj("ptCriteriaValue").multiple=false; getObj("ptCriteriaValue").style.height=""; } if(m_bUsingLookup) { if(sOperator=="in") m_bMultiple=true; SetVisible("divCriteriaValue",true); SetVisible("divCriteriaValueText",false); } else { SetVisible("divCriteriaValue",false); SetVisible("divCriteriaValueText",true); } } function mf_ShowElement() { getObj("divCriteriaValue").innerHTML=m_sStartValueOuterHTML+""+m_sCloseSelect; getObj("divCriteriaOperator").innerHTML=m_sStartOperatorOuterHTML+""+m_sCloseSelect; getObj("divCriteriaAggregate").innerHTML=m_sStartAggregateOuterHTML+""+m_sCloseSelect; var objField=m_CurrentCriteriaElement.GetField(); if(!objField) { objField=m_CurrentCriteriaElement.GetObjectMap().GetField(m_CurrentCriteriaElement.GetFieldID()); if(!objField) { m_CurrentCriteriaElement.GetObjectMap().LoadFieldsServer(mf_ShowElement); return; } m_CurrentCriteriaElement.SetField(objField); } m_bUsingLookup=(objField.GetLookupValues()&&!m_CurrentCriteriaElement.GetAggregate()); if(m_bUsingLookup) { var sFieldValueOptions=objField.GetFieldValueOptions(m_CurrentCriteriaElement.GetValue()); if(!sFieldValueOptions) { objField.LoadFieldValuesServer(mf_ShowElement); return; } getObj("divCriteriaValue").innerHTML=m_sStartValueOuterHTML+sFieldValueOptions+m_sCloseSelect; } else { getObj("etValue").value=m_CurrentCriteriaElement.GetValue(); getObj("etValue").onfocus=null; } getObj("spCriteriaShowField").innerHTML=objField.GetName(); mf_ShowCriteriaOptions(objField,m_CurrentCriteriaElement.GetAggregateFunction()); getObj("divCriteriaAggregate").innerHTML=m_sStartAggregateOuterHTML+m_JetViewer.GetView().GetAggregateOptions(objField.GetDataType(),false,m_CurrentCriteriaElement.GetAggregateFunction(),m_bCurrentElementIsRelational&&objField.IsInID())+m_sCloseSelect+GetHelpButton("aggregate"); if(objField.GetDataType()==4) { mf_ShowDateValues(); } else { mf_ShowValueControl(); } } function mf_ShowCriteriaOptions(objField,sAggregate) { var iDataType=objField.GetDataType(); if(sAggregate=="count") iDataType=1; if(sAggregate=="none") { SetVisible("divCriteriaOperator",false); } else { SetVisible("divCriteriaOperator",true); getObj("divCriteriaOperator").innerHTML=m_sStartOperatorOuterHTML+m_JetViewer.GetView().GetOperatorOptions(iDataType,objField.GetLookupValues(),m_CurrentCriteriaElement.GetOperator())+m_sCloseSelect+GetHelpButton("operator"); } } function mf_GetSpecialDateOptions(sType,sCurrentValue) { var aTexts; switch(sType) { case "day": aTexts=m_SpecialDateOptions.day; break; case "week": aTexts=m_SpecialDateOptions.week; break; case "month": aTexts=m_SpecialDateOptions.month; break; case "quarter": aTexts=m_SpecialDateOptions.quarter; break; case "year": aTexts=m_SpecialDateOptions.year; break; case "last": aTexts=m_SpecialDateOptions.last; break; } var sHTML=""; for(var i=0;i\n"; } switch(sType) { case "month": aTexts=m_SpecialDateOptions.months; var sSuffix=" this year"; for(var i=0;i\n"; } sSuffix=" next year"; for(var i=0;i\n"; } sSuffix=" last year"; for(var i=0;i\n"; } break; case "year": var objDate=new Date(); var iStartYear=objDate.getFullYear()-10; var iEndYear=iStartYear+20; for(var i=iStartYear;i\n"; } break; } return sHTML; } var m_SpecialDateOptions = { day: [ "this day", "next day", "last day" ], week: [ "this week", "next week", "last week" ], quarter: ["this quarter", "next quarter", "last quarter", "Q1 this year", "Q2 this year", "Q3 this year", "Q4 this year", "Q1 next year", "Q2 next year", "Q3 next year", "Q4 next year", "Q1 last year", "Q2 last year", "Q3 last year", "Q4 last year"], month: [ "this month","next month","last month" ], months: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ], year: [ "this year","next year","last year" ], last: ["1","2","3","4","5","6","10","12","18","20","24","100"] }; function mf_ShowDateValues() { var sOperator=getObj("ptCriteriaOperator").options[getObj("ptCriteriaOperator").selectedIndex].value; SetVisible("divCriteriaValueDP",false); SetVisible("divCriteriaValueText",false); SetVisible("divCriteriaValue",false); switch(sOperator) { case "none": case "not null": break; case "in calendar day": var sFieldValueOptions=mf_GetSpecialDateOptions("day",m_CurrentCriteriaElement.GetValue()); SetVisible("divCriteriaValue",true); getObj("divCriteriaValue").innerHTML=m_sStartValueOuterHTML+sFieldValueOptions+m_sCloseSelect; break; case "in calendar week": var sFieldValueOptions=mf_GetSpecialDateOptions("week",m_CurrentCriteriaElement.GetValue()); SetVisible("divCriteriaValue",true); getObj("divCriteriaValue").innerHTML=m_sStartValueOuterHTML+sFieldValueOptions+m_sCloseSelect; break; case "in calendar month": var sFieldValueOptions=mf_GetSpecialDateOptions("month",m_CurrentCriteriaElement.GetValue()); SetVisible("divCriteriaValue",true); getObj("divCriteriaValue").innerHTML=m_sStartValueOuterHTML+sFieldValueOptions+m_sCloseSelect; break; case "in calendar quarter": var sFieldValueOptions=mf_GetSpecialDateOptions("quarter",m_CurrentCriteriaElement.GetValue()); SetVisible("divCriteriaValue",true); getObj("divCriteriaValue").innerHTML=m_sStartValueOuterHTML+sFieldValueOptions+m_sCloseSelect; break; case "in calendar year": var sFieldValueOptions=mf_GetSpecialDateOptions("year",m_CurrentCriteriaElement.GetValue()); SetVisible("divCriteriaValue",true); getObj("divCriteriaValue").innerHTML=m_sStartValueOuterHTML+sFieldValueOptions+m_sCloseSelect; break; case "in last days": case "in last weeks": case "in last months": case "in last years": case "not in last days": case "not in last weeks": case "not in last months": case "not in last years": var sFieldValueOptions=mf_GetSpecialDateOptions("last",m_CurrentCriteriaElement.GetValue()); SetVisible("divCriteriaValue",true); getObj("divCriteriaValue").innerHTML=m_sStartValueOuterHTML+sFieldValueOptions+m_sCloseSelect; break; default: if(m_bUsingLookup) { var sFieldValueOptions=m_CurrentCriteriaElement.GetField().GetFieldValueOptions(m_CurrentCriteriaElement.GetValue()); SetVisible("divCriteriaValue",true); getObj("divCriteriaValue").innerHTML=m_sStartValueOuterHTML+sFieldValueOptions+m_sCloseSelect; } else { SetVisible("divCriteriaValueDP",true); m_dpValue.Show(m_CurrentCriteriaElement.GetValue()); } } m_bMultiple=false getObj("ptCriteriaValue").multiple=false; } this.onAddClick=mf_onAddClick; function mf_onAddClick() { m_bCurrentElementIsRelational=false; m_bAdd=true; m_bShowAnd=false; m_bShowOr=true; m_CriteriaForAdd=m_CurrentDataObject.GetCriteria(); m_CurrentCriteriaElement=new CQueryElement(); m_CurrentCriteriaElement.SetObjectMap(m_CurrentDataObject.GetObjectMap()); m_iUIMode=3; m_bCurrentElementModified=true; mf_UpdateDisplayControls(); } this.onClearClick=mf_onClearClick; function mf_onClearClick() { if(m_CurrentDataObject.AddedToHistory()) { m_JetViewer.SelectOMByID(m_CurrentDataObject.GetObjectMap().GetObjectMapID()); } else { m_CurrentDataObject.SetCriteria(new CQuery()); mf_UpdateDisplay(m_CurrentDataObject); } } this.onAdvancedAggregateClick=mf_onAdvancedAggregateClick; function mf_onAdvancedAggregateClick() { m_bCurrentElementIsRelational=false; m_bAdd=true; m_bShowAnd=false; m_bShowOr=true; m_CriteriaForAdd=m_CurrentDataObject.GetCriteria(); m_CurrentCriteriaElement=new CQueryElement(); m_CurrentCriteriaElement.SetObjectMap(m_CurrentDataObject.GetObjectMap()); m_CurrentCriteriaElement.SetAllowAggregates(true); m_iUIMode=3; m_bCurrentElementModified=true; mf_UpdateDisplayControls(); } this.onAddToClick=mf_onAddToClick; function mf_onAddToClick() { m_bAdd=true; var objSelectedElement=mf_GetSelectedCriteriaElement(); m_bCurrentElementIsRelational=true; m_bShowAnd=false; m_bShowOr=true; if(objSelectedElement.IsAndOr&&objSelectedElement.IsOr()) { m_bShowAnd=true; m_bShowOr=false; } m_CriteriaForAdd=objSelectedElement.GetChildQuery(); m_CurrentCriteriaElement=new CQueryElement(); if(objSelectedElement.IsRelational()) m_CurrentCriteriaElement.SetObjectMap(objSelectedElement.GetRelatedObjectMap()); else if(objSelectedElement.IsAndOr()) m_CurrentCriteriaElement.SetObjectMap(objSelectedElement.GetObjectMap()); else m_CurrentCriteriaElement.SetObjectMap(m_CurrentDataObject.GetObjectMap()); m_CurrentCriteriaElement.SetAllowAggregates(objSelectedElement.GetAllowAggregates()); m_iUIMode=3; m_bCurrentElementModified=true; mf_UpdateDisplayControls(); } this.onValueChange=mf_onValueChange; function mf_onValueChange() { m_bCurrentElementModified=true; } this.onFieldChange=mf_onFieldChange; function mf_onFieldChange() { var sFieldID=getObj("ptCriteriaField").options[getObj("ptCriteriaField").selectedIndex].value; m_CurrentCriteriaElement.SetFieldID(sFieldID); m_iUIMode=4; mf_UpdateDisplayControls(); } this.onCancelClick=mf_onCancelClick; function mf_onCancelClick() { m_bAdd=false; m_iUIMode=0; m_CurrentCriteriaElement=null; m_bCurrentElementModified=false; mf_UpdateDisplay(); } this.onEditClick=mf_onEditClick; function mf_onEditClick() { m_CurrentCriteriaElement=mf_GetSelectedCriteriaElement(); m_bAdd=false; m_iUIMode=4; mf_UpdateDisplayControls(); } function mf_GetSelectedCriteriaElement(sID) { return mf_GetSelectedCriteriaMaster(sID).GetElement(mf_GetSelectedCriteriaElementIndex(sID)); } function mf_GetSelectedCriteriaElementIndex(sID) { if(!sID) sID=m_Tree.GetSelectedNodeExternalID(); var iIndex=sID.lastIndexOf("#"); if(iIndex>-1) return parseInt(sID.substr(iIndex+1),10); else return parseInt(sID,10); } function mf_GetSelectedCriteriaMaster(sID) { if(!sID) sID=m_Tree.GetSelectedNodeExternalID(); var objCriteria=m_CurrentDataObject.GetCriteria(); var objCriteriaElement=false; var iIndex=sID.indexOf("#"); m_bCurrentElementIsRelational=false; while(iIndex>-1) { m_bCurrentElementIsRelational=true; var sThisID=sID.substr(0,iIndex); var elementIndex=parseInt(sThisID,10); objCriteriaElement=objCriteria.GetElement(elementIndex); objCriteria=objCriteriaElement.GetChildQuery(); sID=sID.substr(iIndex+1); iIndex=sID.indexOf("#"); } return objCriteria; } this.onDeleteClick=mf_onDeleteClick; function mf_onDeleteClick() { mf_GetSelectedCriteriaMaster().RemoveElement(mf_GetSelectedCriteriaElementIndex()); mf_UpdateDisplay(); m_JetViewer.CriteriaModified(); } this.onAdvancedClick=mf_onAdvancedClick; function mf_onAdvancedClick() { m_iUIMode=5; mf_UpdateDisplayControls(); } this.onAddAndClick=mf_onAddAndClick; function mf_onAddAndClick() { m_CurrentCriteriaElement.InitAndOr(false); m_CriteriaForAdd.AddQueryElement(m_CurrentCriteriaElement); mf_UpdateDisplay(); } this.onAddOrClick=mf_onAddOrClick; function mf_onAddOrClick() { m_CurrentCriteriaElement.InitAndOr(true); m_CriteriaForAdd.AddQueryElement(m_CurrentCriteriaElement); mf_UpdateDisplay(); } this.onAddNoneClick=mf_onAddNoneClick; function mf_onAddNoneClick() { m_CurrentCriteriaElement.InitNone(); m_CriteriaForAdd.AddQueryElement(m_CurrentCriteriaElement); mf_UpdateDisplay(); } this.onOperatorChange=mf_onOperatorChange; function mf_onOperatorChange() { m_bCurrentElementModified=true; var objField=m_CurrentCriteriaElement.GetField(); if(objField&&objField.GetDataType()==4) mf_ShowDateValues(); else mf_ShowValueControl(); } this.onAggregateChange=mf_onAggregateChange; function mf_onAggregateChange() { var sAggregate=getObj("ptCriteriaAggregate").options[getObj("ptCriteriaAggregate").selectedIndex].text; m_bCurrentElementModified=true; var objField=m_CurrentCriteriaElement.GetField(); mf_ShowCriteriaOptions(objField,sAggregate); if(objField&&objField.GetDataType()==4) mf_ShowDateValues(); else mf_ShowValueControl(); } this.SelectAddedElement=mf_SelectAddedElement; function mf_SelectAddedElement() { var sID=""+(m_CurrentDataObject.GetCriteria().GetElements().length-1); m_Tree.SelectNodeByID("ce_"+sID); m_iUIMode=1; mf_UpdateDisplayControls(sID); } this.onRefreshClick=mf_onRefreshClick; function mf_onRefreshClick() { m_JetViewer.RefreshData(); } function mf_SetDateValues() { var sOperator=getObj("ptCriteriaOperator").options[getObj("ptCriteriaOperator").selectedIndex].value; switch(sOperator) { case "in calendar day": case "in calendar week": case "in calendar month": case "in calendar quarter": case "in calendar year": case "in last days": case "in last weeks": case "in last months": case "in last years": case "not in last days": case "not in last weeks": case "not in last months": case "not in last years": if(!m_bUsingLookup) {//only needed here if not already stored by default m_CurrentCriteriaElement.SetValue(getObj("ptCriteriaValue").options[getObj("ptCriteriaValue").selectedIndex].text); } break; default: if(m_bUsingLookup) { //already stored by default } else { m_CurrentCriteriaElement.SetValue(m_dpValue.GetValue()); } } } this.onOkClick=mf_onOkClick; function mf_onOkClick() { if(m_bUsingLookup) { var sValue=""; var oOptions=getObj("ptCriteriaValue").options; if(m_bMultiple) { for(i=0;i=0) sValue=oOptions[getObj("ptCriteriaValue").selectedIndex].text; } m_CurrentCriteriaElement.SetValue(sValue); } else { m_CurrentCriteriaElement.SetValue(getObj("etValue").value); } m_CurrentCriteriaElement.SetOperator(getObj("ptCriteriaOperator").options[getObj("ptCriteriaOperator").selectedIndex].value); m_CurrentCriteriaElement.SetAggregateFunction(getObj("ptCriteriaAggregate").options[getObj("ptCriteriaAggregate").selectedIndex].text); var objField=m_CurrentCriteriaElement.GetField(); if(objField&&objField.GetDataType()==4) mf_SetDateValues(); if(m_bCurrentElementIsRelational&&objField&&objField.IsInID()&&m_CurrentCriteriaElement.GetOperator()=="none") { m_CurrentCriteriaElement.InitNone(); } if(m_bAdd) { m_CriteriaForAdd.AddQueryElement(m_CurrentCriteriaElement); } m_JetViewer.CriteriaModified(); mf_UpdateDisplay(); } function mf_ShowFields() { getObj("divCriteriaField").innerHTML=m_sStartFieldOuterHTML+""+m_sCloseSelect; var sFieldOptions=m_CurrentCriteriaElement.GetObjectMap().GetFieldsOptions() if(!sFieldOptions) { m_CurrentCriteriaElement.GetObjectMap().LoadFieldsServer(mf_ShowFields); return; } getObj("divCriteriaField").innerHTML=m_sStartFieldOuterHTML+sFieldOptions+m_sCloseSelect; } this.GetHTML=mf_GetOuterHTML; function mf_GetOuterHTML() { var sHTML=""; sHTML+=m_Tree.GetHTML(); sHTML+=""; sHTML+=""; sHTML+=""; sHTML+=""; sHTML+=""; sHTML+=""; sHTML+=""; sHTML+="" sHTML+="" sHTML+="" sHTML+="" sHTML+="" sHTML+=""; sHTML+=""; sHTML+=""; sHTML+=""; sHTML+=""; sHTML+=""; sHTML+=""; sHTML+=""; sHTML+=""; return sHTML; } }function CQuery() { var m_aElements=Array(); var m_this=this; this.LoadXML=mf_LoadXML; function mf_LoadXML(objXML) { var objNodeList=objXML.getElementsByTagName("cqueryelement"); for (var i=0; i-1;i--) { if(m_aElements[i].WasSpawnedBy(obj)) mf_RemoveElement(i); } } this.CheckForRepeated=mf_CheckForRepeated; function mf_CheckForRepeated(aobjUsed,objObjectMap) { var objReturn=null; if(objObjectMap) aobjUsed=Array(objObjectMap); for(var i=0;i-1) return m_aElements[i]; return false; } this.GetElementIndexByRelationID=mf_GetElementIndexByRelationID; function mf_GetElementIndexByRelationID(sID) { for(var i=0;i0; } this.HasNonParentalElements=mf_HasNonParentalElements; function mf_HasNonParentalElements() { if(m_aElements.length==0) return false; for(var i=0;i0; } this.SetTreeNodeID=mf_SetTreeNodeID; function mf_SetTreeNodeID(sTreeNodeID) { m_sTreeNodeID=sTreeNodeID; } this.GetTreeNodeID=mf_GetTreeNodeID; function mf_GetTreeNodeID() { if(m_sTreeNodeID) return m_sTreeNodeID; else return "objectmap_"+m_ObjectMap.GetObjectMapID(); } this.GetHistoryParentID=mf_GetHistoryParentID; function mf_GetHistoryParentID() { if(m_iHistoryParentID) return m_iHistoryParentID; } this.GetDataObjectID=mf_GetDataObjectID; function mf_GetDataObjectID() { return m_iDataObjectID; } this.ResetTreeNodeID=mf_ResetTreeNodeID; function mf_ResetTreeNodeID() { if(m_sTreeNodeID) { var sResult=m_sTreeNodeID; m_sTreeNodeID=null; return sResult; } } this.SetHistoryParentID=mf_SetHistoryParentID; function mf_SetHistoryParentID(iHistoryParentID) { m_iHistoryParentID=iHistoryParentID; } this.SetSimpleHistoryID=mf_SetSimpleHistoryID; function mf_SetSimpleHistoryID(iSimpleHistoryID) { m_iSimpleHistoryID=iSimpleHistoryID; } this.GetSimpleHistoryID=mf_GetSimpleHistoryID; function mf_GetSimpleHistoryID() { return m_iSimpleHistoryID; } this.Clone=mf_Clone; function mf_Clone() { var objClone=new CDataObject(m_ObjectMap); if(m_aColOrder) objClone.SetColOrder(m_aColOrder.concat(Array())); objClone.SetCriteria(m_Criteria.Clone()); objClone.SetDisplayID(m_sDisplayID); objClone.SetSortBy(m_sSortByFieldID); if(m_Summary) objClone.SetSummary(m_Summary.Clone()); objClone.SetSummarySortBy(m_sSortBySummaryField); objClone.SetSummaryViewMode(m_iSummaryViewMode); objClone.SetViewType(m_sViewType); return objClone; } this.SetHistory=mf_SetHistory; function mf_SetHistory(iHistoryParentID,sLogicalParentID,iDataObjectID,objRelation) { if(iHistoryParentID) m_iHistoryParentID=iHistoryParentID; if(sLogicalParentID) m_sLogicalParentID=sLogicalParentID; if(objRelation) m_sHistoryParentRelationID=objRelation.GetRelationID(); m_iDataObjectID=iDataObjectID; } this.GetCriteria=mf_GetCriteria; function mf_GetCriteria() { return m_Criteria; } this.GetSummary=mf_GetSummary; function mf_GetSummary() { if(!m_Summary) { m_Summary=new CSummary(); m_Summary.Init(); } return m_Summary; } this.GetObjectMap=mf_GetObjectMap; function mf_GetObjectMap() { return m_ObjectMap; } this.ResetRange=mf_ResetRange; function mf_ResetRange() { m_iRangeStart=0; } this.GetRangeStart=mf_GetRangeStart; function mf_GetRangeStart() { return m_iRangeStart; } this.GetRangeLength=mf_GetRangeLength; function mf_GetRangeLength() { return m_iRangeLength; } this.NextRange=mf_NextRange; function mf_NextRange() { var obj=m_iRangeStart; m_iRangeStart=m_iRangeStart+m_iRangeLength } this.PreviousRange=mf_PreviousRange; function mf_PreviousRange() { m_iRangeStart=m_iRangeStart-m_iRangeLength } } function CRIBar(objTree,sObjID) { var m_JetViewer=null; var m_Tree=objTree; m_Tree.SetCallback(mf_treeCallback); m_Tree.SetNoPlusMinus(true); var m_CurrentObjectMap=null; var m_sSelected=null; var m_sObjID=sObjID; var m_iUIMode=0;//0=None,1=ItemSelected var m_bRecordSelected; var m_bFolderise=false; var m_saFolderRootNodes; this.SetRecordSelected=mf_SetRecordSelected; function mf_SetRecordSelected(bRecordSelected) { m_bRecordSelected=bRecordSelected; mf_UpdateDisplayControls(); } this.SetJetViewer=mf_SetJetViewer; function mf_SetJetViewer(objJetViewer) { m_JetViewer=objJetViewer; } function mf_UpdateDisplayControls() { SetVisible("divRIIntro",false); SetVisible("divRISelected",false); SetVisible("divRIIntroSummary",false); var bSummary=m_JetViewer.SummaryDefActive(); var sSummaryClause=""; if(bSummary) sSummaryClause=" or to use "+m_sSelected+" information in summary information:"; switch(m_iUIMode) { case 0: if(bSummary) SetVisible("divRIIntroSummary",true); else SetVisible("divRIIntro",true); break; case 1: if(m_bRecordSelected) getObj("divRISelected").innerHTML="To show "+m_sSelected+" information for the current records: or to use "+m_sSelected+" information to add criteria:"+sSummaryClause; else getObj("divRISelected").innerHTML="To show "+m_sSelected+" information for the current records: or to use "+m_sSelected+" information to add criteria:"+sSummaryClause; getObj("divRISelected").innerHTML="To show "+m_sSelected+" information for the current records: or to use "+m_sSelected+" information to add criteria:"+sSummaryClause; SetVisible("divRISelected",true); break; } } this.UpdateDisplay=mf_UpdateDisplay; function mf_UpdateDisplay(ObjectMap) { m_aFolderRootNodes=new Array(); m_aFolders=new Array(); if(ObjectMap) m_CurrentObjectMap=ObjectMap; m_iUIMode=0; m_Tree.Clear(); if(m_CurrentObjectMap) { m_bFolderise=m_JetViewer.GetView().GetFolderiseRI(); m_Tree.SetNoPlusMinus(!m_bFolderise); var aRelations=m_CurrentObjectMap.GetRelations() if(!aRelations) { m_CurrentObjectMap.LoadFieldsServer(mf_UpdateDisplay); return; } for(var i=0;i"+aReportStyles[i]+"\n"; } return sHTML; } this.ServerConnection=m_ServerConnection; this.GetXML=mf_GetXML; function mf_GetXML() { var sXML=""; sXML+="\n"; if(m_bValid_aObjectMaps) { for(var i=0;i\n"; } return sHTML; } this.GetAggregateSummaryOptions=mf_GetAggregateSummaryOptions; function mf_GetAggregateSummaryOptions(iDataType,bLookupValues,sCurrentValue) { var asAggregates; switch(iDataType) { case 1: case 2: asAggregates=Array("sum","avg","avg abs","avg as percent","max","min","count","count_distinct","total"); break; case 3: asAggregates=Array("count","count_distinct"); break; case 4: asAggregates=Array("earliest","latest","count","count_distinct"); break; case 6: asAggregates=Array("avg","max","min"); break; } var sHTML=""; for(var i=0;i\n"; } return sHTML; } this.GetAggregateOptions=mf_GetAggregateOptions; function mf_GetAggregateOptions(iDataType,bLookupValues,sCurrentValue,bIncludeNone) { var asAggregates; switch(iDataType) { case 1: case 2: asAggregates=Array("value","sum","avg","max","min","count","total"); break; case 3: asAggregates=Array("value","count"); break; case 4: asAggregates=Array("value","latest","earliest"); break; case 5: asAggregates=Array("value"); break; case 6: asAggregates=Array("value","avg","max","min"); break; } if(bIncludeNone) asAggregates[asAggregates.length]="none"; var sHTML=""; for(var i=0;i\n"; } return sHTML; } this.GetOperatorOptions=mf_GetOperatorOptions; function mf_GetOperatorOptions(iDataType,bLookupValues,sCurrentValue) { if(sCurrentValue=="") { if(!bLookupValues&&iDataType==3) { sCurrentValue="like"; } else { sCurrentValue="="; } } var asOperators; var asOperatorsDisplay; switch(iDataType) { case 1: case 2: asOperators=Array("=","<",">","<>","none","not null"); asOperatorsDisplay=Array("=","<",">","≠","none","not null"); break; case 3: asOperators=Array("=","in","like","not like","<>","none","not null"); asOperatorsDisplay=Array("=","in","like","not like","≠","none","not null"); break; case 4: asOperators=Array("=","<",">","<>","none","in calendar day","in calendar week","in calendar month","in calendar quarter","in calendar year","in last days","in last weeks","in last months","in last years","not in last days","not in last weeks","not in last months","not in last years","not null"); asOperatorsDisplay=Array("=","<",">","≠","none","in calendar day","in calendar week","in calendar month","in calendar quarter","in calendar year","in last days","in last weeks","in last months","in last years","not in last days","not in last weeks","not in last months","not in last years","not null"); break; case 5: asOperators=Array("contains"); asOperatorsDisplay=Array("contains"); break; case 6: asOperators=Array("=","<",">","<>","none","not null"); asOperatorsDisplay=Array("=","<",">","≠","none","not null"); break; } var sHTML=""; for(var i=0;i" sHTML+=asOperatorsDisplay[i]+"\n"; } return sHTML; } this.GetObjectMaps=mf_GetObjectMaps; function mf_GetObjectMaps() { return m_aObjectMaps; } this.GetObjectMap=mf_GetObjectMap; function mf_GetObjectMap(sID) { for(var i=0;i"+m_aFields[i].GetName()+"\n"; } return sHTML; } this.GetFieldIDByName=mf_GetFieldIDByName function mf_GetFieldIDByName(sFieldName,bDisplayedOnly) { if(!m_bValid_aFields) { return false; } for (var i=0; i"+m_aReports[i].GetName()+sDefault+"\n"; m_aReports[i].LoadQueryServer(m_View,m_aReports[i].ValidateQuery); } return sHTML; } this.GetFields=mf_GetFields; function mf_GetFields() { if(!m_bValid_aFields) { return false; } return m_aFields; } this.GetField=mf_GetField; function mf_GetField(sID) { if(!m_bValid_aFields) { return false; } for(var i=0;i\n"; if(m_bValid_aFields) { for(var i=0;i"; return sHTML; } } function CReport(objObjectMap) { var m_sReportID; var m_sReportName; var m_sReportType; var m_ObjectMap=objObjectMap; var m_Query=null; this.LoadXML=mf_LoadXML; function mf_LoadXML(objXML) { m_sReportID=objXML.getAttribute("sreportid"); m_sReportName=objXML.getAttribute("sreportname"); m_sReportType=objXML.getAttribute("sreporttype"); } this.ValidateQuery=mf_ValidateQuery; function mf_ValidateQuery() { var objView=objJetViewer.GetView(); if(m_Query) m_Query.ValidateObjects(objView) } this.GetQuery=mf_GetQuery; function mf_GetQuery() { return m_Query; } this.GetID=mf_GetID; function mf_GetID() { return m_sReportID; } this.LoadQueryServer=mf_LoadQueryServer; function mf_LoadQueryServer(objView,fResume) { objView.ServerConnection.GetObjectXML(objView.GetViewID(),"cquery",m_ObjectMap.GetObjectMapID()+"#"+m_sReportID,mf_LoadQueryXML,fResume,""); } function mf_LoadQueryXML(objXML) { m_Query=new CQuery(); m_Query.LoadXML(objXML); } this.GetName=mf_GetName; function mf_GetName() { return m_sReportName; } this.GetEditable=mf_GetEditable; function mf_GetEditable() { return m_sReportType=="XSLE:HTML"; } } function CQueryElement() { var m_iParameterise=0; var m_sObjectMapID; var m_iOperation; var m_sOperator=""; var m_sValueAsStr="enter value here"; var m_Field; var m_sFieldID; var m_sFieldName; var m_bParental=false; var m_bRelational=false; var m_ChildQuery; var m_ObjectMap; var m_RelatedObjectMap; var m_sRelationID; var m_sRelatedObjectMapID; var m_Relation; var m_bRelationToOne; var m_bOr=false; var m_bAndOr=false; var m_bSingleRelation=false; var m_sRelatedObjectDisplayID=""; var m_sRelatedObjectID; var m_bChildQuery=false; var m_bGetData=false; var m_bAllowAggregates=false; var m_bAggregate=false; var m_sAggregateFunction="value"; var m_asFieldList=new Array(); var m_objSpawnedBy=null; this.SetSpawnedBy=mf_SetSpawnedBy; function mf_SetSpawnedBy(obj) { m_objSpawnedBy=obj; } this.WasSpawnedBy=mf_WasSpawnedBy; function mf_WasSpawnedBy(obj) { return m_objSpawnedBy==obj; } this.GetFieldList=mf_GetFieldList; function mf_GetFieldList() { return m_asFieldList; } function mf_Parameterisable() { mf_CheckType(); switch(m_iOperation) { case 0: case 1: case 2: case 6: case 8: case 10: return true; } return false; } function mf_ElementsParameterisable() { mf_CheckType(); switch(m_iOperation) { case 3: case 4: case 5: return true; } return false; } this.GetParameteriseableElements=mf_GetParameteriseableElements; function mf_GetParameteriseableElements(asParameteriseableElements) { if(mf_Parameterisable()) { asParameteriseableElements[asParameteriseableElements.length]=this; } if(mf_ElementsParameterisable()&&m_ChildQuery) m_ChildQuery.GetParameteriseableElements(asParameteriseableElements); } this.SetParameteriseElements=mf_SetParameteriseElements; function mf_SetParameteriseElements(abParameteriseElements) { m_iParameterise=0; if(mf_Parameterisable()) { m_iParameterise=abParameteriseElements[0]; abParameteriseElements=ArrayRemove(abParameteriseElements,0); } if(m_ChildQuery&&mf_ElementsParameterisable()) abParameteriseElements=m_ChildQuery.SetParameteriseElements(abParameteriseElements); return abParameteriseElements; } this.CheckForRepeated=mf_CheckForRepeated; function mf_CheckForRepeated(aobjUsed) { if(!m_bRelational) return null; for(var i=0;i") sOperator="≠"; var sAggregate=""; if(m_bAggregate) sAggregate=m_sAggregateFunction+" "; mf_CheckType(); switch(m_iOperation) { case 0: return sAggregate+m_sFieldName+sOperator+m_sValueAsStr; case 1: case 2: case 11: case 12: return sAggregate+m_sFieldName+" "+sOperator+" '"+m_sValueAsStr+"'"; case 3: if(m_Relation) { return sAggregate+m_Relation.GetDirectionalDescription(m_bRelationToOne); } if(m_RelatedObjectMap) return sAggregate+m_RelatedObjectMap.GetObjectMapName(); else return sAggregate+m_sRelatedObjectMapID; case 4: if(m_bOr) return "any of (or)"; else return "all of (and)"; case 5: return sAggregate+m_sRelatedObjectDisplayID; case 6: return sAggregate+m_sFieldName+" "+m_sValueAsStr; case 7: return "no "+m_sFieldName; case 13: return m_sFieldName+" not null"; case 9: return "none"; case 8: case 10: return sAggregate+m_sFieldName+" "+sOperator+" "+m_sValueAsStr; } } this.GetXML=mf_GetXML; function mf_GetXML() { var sOperator=m_sOperator; switch(sOperator) { case "<": sOperator="<"; break; case ">": sOperator=">"; break; case "<>": sOperator="<>"; } var sXML=""; m_bChildQuery=(m_ChildQuery!=null&&m_ChildQuery.HasElements()); sXML+="\n"; if(mf_IsFolder()&&m_bChildQuery) { sXML+="\n"; sXML+=m_ChildQuery.GetXML(); sXML+="\n"; } if(m_bGetData) { sXML+=GetFieldListXML(m_asFieldList); } sXML+="\n"; return sXML; } this.TruncateFieldLists=mf_TruncateFieldLists; function mf_TruncateFieldLists() { m_asFieldList=new Array(); if(m_ChildQuery) m_ChildQuery.TruncateFieldLists(); } this.SetFieldID=mf_SetFieldID; function mf_SetFieldID(sFieldID) { m_sFieldID=sFieldID; } this.GetField=mf_GetField; function mf_GetField() { return m_Field; } this.GetFieldID=mf_GetFieldID; function mf_GetFieldID() { return m_sFieldID; } this.SetField=mf_SetField; function mf_SetField(Field) { m_Field=Field; m_sFieldName=Field.GetName(); m_sFieldID=Field.GetID(); } this.GetValue=mf_GetValue; function mf_GetValue() { return m_sValueAsStr; } this.GetOperator=mf_GetOperator; function mf_GetOperator() { return m_sOperator; } function mf_CheckType() { m_iOperation=0; if(m_sOperator=="like") { m_iOperation=1; } if(m_sOperator=="not like") { m_iOperation=11; } if(m_sOperator=="contains") { m_iOperation=2; } if(m_sOperator=="in") { m_iOperation=8; } if(m_bRelational) { if(m_bSingleRelation) m_iOperation=5; else m_iOperation=3; } if(m_bAndOr) { m_iOperation=4; } if(m_sOperator.substr(0,6)=="in cal") { m_iOperation=6; } if(m_sOperator.substr(0,6)=="in las") { m_iOperation=10; } if(m_sOperator.substr(4,6)=="in las") { m_iOperation=10; } if(m_sOperator=="none") { m_iOperation=7; } if(m_sOperator=="not null") { m_iOperation=13; } if(mf_IsNone()) { m_iOperation=9; } } this.GetObjectMap=mf_GetObjectMap; function mf_GetObjectMap() { return m_ObjectMap; } this.GetRelation=mf_GetRelation; function mf_GetRelation() { return m_Relation; } this.GetRelatedObjectMap=mf_GetRelatedObjectMap; function mf_GetRelatedObjectMap() { return m_RelatedObjectMap; } }function CField(ObjectMap) { var m_sSQL; var m_sFieldID; var m_bDisplay; var m_bDisplayDetail; var m_iDataType; var m_sFieldName; var m_bLookupValues; var m_bIsInID; var m_sTable; var m_this=this; var m_asValues=Array(); var m_bValid_asValues=false; var m_ObjectMap=ObjectMap; this.GetObjectMap=mf_GetObjectMap; function mf_GetObjectMap() { return m_ObjectMap; } this.LoadXML=mf_LoadXML; function mf_LoadXML(objXML) { m_sSQL=objXML.getAttribute("ssql"); m_sFieldID=objXML.getAttribute("sfieldid"); m_bDisplay=1==parseInt(objXML.getAttribute("bdisplay"),10); m_bDisplayDetail=1==parseInt(objXML.getAttribute("bdisplaydetail"),10); m_bLookupValues=1==parseInt(objXML.getAttribute("blookupvalues"),10); m_iDataType=parseInt(objXML.getAttribute("idatatype"),10); m_sFieldName=objXML.getAttribute("sfieldname"); m_sTable=objXML.getAttribute("stable"); m_bIsInID=1==parseInt(objXML.getAttribute("bisinid"),10); } this.IsInID=mf_IsInID; function mf_IsInID() { return m_bIsInID; } this.GetDisplay=mf_GetDisplay; function mf_GetDisplay() { return m_bDisplay; } this.GetDisplayDetail=mf_GetDisplayDetail; function mf_GetDisplayDetail() { return m_bDisplayDetail; } this.GetXML=mf_GetXML; function mf_GetXML() { var sXML=""; sXML+="\n"; return sXML; } this.GetLookupValues=mf_GetLookupValues; function mf_GetLookupValues() { return m_bLookupValues; } this.GetName=mf_GetName; function mf_GetName() { return m_sFieldName; } this.GetID=mf_GetID; function mf_GetID() { return m_sFieldID; } this.GetFieldValueOptions=mf_GetFieldValueOptions; function mf_GetFieldValueOptions(sCurrentValue) { var asCurrentValues=sCurrentValue.split(","); if(!m_bValid_asValues) return false; var sHTML="\n"; for(var i=0;i-1) sHTML+="\n"; } return sHTML; } function mf_LoadFieldValuesXML(objXML) { var objNodeList=objXML.getElementsByTagName("fieldvalue"); for (var i=0; i-1) { this.m_asParameterNames=ArrayRemove(this.m_asParameterNames,iIndex); this.m_asParameters=ArrayRemove(this.m_asParameters,iIndex); } } this.AddParameter=mf_AddParameter; function mf_AddParameter(sName,sValue) { this.m_asParameterNames[this.m_asParameterNames.length]=sName; this.m_asParameters[this.m_asParameters.length]=escape(sValue); } this.GetParameters=mf_GetParameters; function mf_GetParameters(bEscape) { var sRet=""; for(i=0;i1) { m_aRequests=ArrayRemove(m_aRequests,0); m_iIntervalID=window.setInterval(mf_DoRequest,0); } else { m_aRequests=Array(); } if(objRequest.m_fProcess!=null) { if(m_httpRequest.responseXML&&m_httpRequest.responseXML.firstChild) objRequest.m_fProcess(m_httpRequest.responseXML.firstChild); else objRequest.m_fProcess(m_httpRequest.responseText); } if(objRequest.m_eTarget!=null) { objRequest.m_eTarget.innerHTML=m_httpRequest.responseText; var aScriptMatch = m_httpRequest.responseText.match(/(.|\s)*?<\/script>/ig); if(aScriptMatch) { var iScriptCount=aScriptMatch.length; for(i=0;i/ig,""); eval(sScript); } } } if(objRequest.m_fResume!=null) { if(objRequest.m_anyResumeParams) objRequest.m_fResume(objRequest.m_anyResumeParams); else objRequest.m_fResume(); } } this.AddRequest=mf_AddRequest; function mf_AddRequest(objRequest) { m_aRequests[m_aRequests.length]=objRequest; if(m_aRequests.length==1) mf_DoRequest(); } function mf_DoRequest() { window.clearInterval(m_iIntervalID); var obj=m_aRequests[0]; //c_iTimeout=c_iFirstTimeout*(1+obj.m_iNoAttempts); if(!obj.m_sURL) { mf_processReqComplete(); } else { mf_newRequest(); sm_bScrollMessage=true; smf_ScrollMessage(); var sAjaxMethod="POST"; try { sAjaxMethod=m_sAjaxMethod; } catch(e) {}; m_iIntervalID=window.setInterval(mf_Timeout,c_iTimeout); if(sAjaxMethod=="GET") { m_httpRequest.open(sAjaxMethod, m_aRequests[0].m_sURL+"?"+m_aRequests[0].GetParameters(true), true); m_httpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); m_httpRequest.send(""); } else { m_httpRequest.open(sAjaxMethod, m_aRequests[0].m_sURL, true); m_httpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); m_httpRequest.send(m_aRequests[0].GetParameters(false)); } } } this.KillQueries=mf_KillQueries; function mf_KillQueries() { var sURL=m_sStartURL+"/killQueries/main.php"; var httpRequest=GetHttpRequest();// just use an independant one httpRequest.open('GET', sURL+"?ViewerID="+sViewerID,false); httpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); httpRequest.send(); } this.GetObjectXML=mf_GetObjectXML; function mf_GetObjectXML(sViewID,sObjectType,sID,fProcess,fResume,sParams,anyResumeParams) { var sURL=m_sStartURL+"/getObjectXML/main.php"; var objRequest=new CRequest(sURL,fResume,fProcess,null,anyResumeParams); objRequest.AddParameter("ViewID",sViewID); objRequest.AddParameter("ObjectType",sObjectType); objRequest.AddParameter("ObjectID",sID); objRequest.AddParameter("Params",sParams); mf_AddRequest(objRequest); } this.GetDataHTML=mf_GetDataHTML; function mf_GetDataHTML(sViewID,sSummary,sID,sQuery,sCriteria,eTarget,iRangeStart,iRangeLength,sSortByFieldID,iSummaryViewMode,sColOrderString) { var sURL=m_sStartURL+"/getDataHTML/main.php"; var objRequest=new CRequest(sURL,JetViewer.OnDataLoaded,null,eTarget,null); objRequest.AddParameter("ViewID",sViewID); objRequest.AddParameter("Summary",sSummary); objRequest.AddParameter("ObjectMapID",sID); objRequest.AddParameter("Query",sQuery); objRequest.AddParameter("Criteria",sCriteria); objRequest.AddParameter("RangeStart",iRangeStart); objRequest.AddParameter("RangeLength",iRangeLength); objRequest.AddParameter("SortBy",sSortByFieldID); objRequest.AddParameter("SummaryViewMode",iSummaryViewMode); objRequest.AddParameter("ColOrderString",sColOrderString); objRequest.AddParameter("TargetWidth",jQuery('#divSummaryDataDiv').width()); objRequest.AddParameter("TargetHeight",jQuery('#divSummaryDataDiv').height()); mf_AddRequest(objRequest); } this.GetCustomFormDataHTML=mf_GetCustomFormDataHTML; function mf_GetCustomFormDataHTML(sViewID,sID,sQuery,sRecordID,eTarget,sFormPath) { var sURL=m_sStartURL+"/getCustomFormDataHTML/main.php"; var objRequest=new CRequest(sURL,null,null,eTarget,null); objRequest.AddParameter("ViewID",sViewID); objRequest.AddParameter("ObjectMapID",sID); objRequest.AddParameter("Query",sQuery); objRequest.AddParameter("RecordID",sRecordID); objRequest.AddParameter("FormPath",sFormPath); mf_AddRequest(objRequest); } this.GetReportLinkRequest=mf_GetReportLinkRequest; function mf_GetReportLinkRequest(fForm) { var sURL=m_sStartURL+"/storeReportLink/main.php"; var objRequest=new CRequest(sURL,null,null,null,null); ScrapeForm(fForm,objRequest); return objRequest; } this.StoreFolder=mf_StoreFolder; function mf_StoreFolder(sViewID,sObjectMapID,sFolderName,sViewType,iSummaryViewType,sCriteriaXML,sSummaryXML,fProcess) { var sURL=m_sStartURL+"/storeFolder/main.php"; var objRequest=new CRequest(sURL,null,fProcess,null,null); objRequest.AddParameter("ViewID",sViewID); objRequest.AddParameter("ObjectMapID",sObjectMapID); objRequest.AddParameter("Query",sCriteriaXML); objRequest.AddParameter("Summary",sSummaryXML); objRequest.AddParameter("FolderName",sFolderName); objRequest.AddParameter("ViewType",sViewType); objRequest.AddParameter("SummaryViewType",iSummaryViewType); mf_AddRequest(objRequest); } this.PerformAction=mf_PerformAction; function mf_PerformAction(sViewID,sObjectMapID,sActionID,sObjectID,sParam) { var sURL=m_sStartURL+"/performAction/main.php"; var objRequest=new CRequest(sURL,null,null,null,null); objRequest.AddParameter("ViewID",sViewID); objRequest.AddParameter("ActionID",sActionID); objRequest.AddParameter("ObjectID",sObjectID); objRequest.AddParameter("Param",sParam); objRequest.AddParameter("ObjectMapID",sObjectMapID); mf_AddRequest(objRequest); } this.GetDetailHTML=mf_GetDetailHTML; function mf_GetDetailHTML(sViewID,sObjectMapID,sID,eTarget) { var sURL=m_sStartURL+"/getDetailHTML/main.php"; var objRequest=new CRequest(sURL,JetViewer.OnDetailLoaded,null,eTarget,null,null); objRequest.AddParameter("ViewID",sViewID); objRequest.AddParameter("ObjectMapID",sObjectMapID); objRequest.AddParameter("RecordID",sID); mf_AddRequest(objRequest); } this.StartAfterPending=mf_StartAfterPending; function mf_StartAfterPending(fResume,anyResumeParams) { var objRequest=new CRequest(null,fResume,null,null,anyResumeParams); mf_AddRequest(objRequest); } function mf_Timeout() { window.clearInterval(m_iIntervalID); m_httpRequest.abort(); } this.GetHTML=mf_GetHTML; function mf_GetHTML(sViewID,sObjectMapID,sPage,sParam,eTarget,fResume) { var sURL=m_sStartURL+"/getHTML/main.php"; var objRequest=new CRequest(sURL,fResume,null,eTarget); objRequest.AddParameter("ViewID",sViewID); objRequest.AddParameter("Page",sPage); objRequest.AddParameter("Param",sParam); objRequest.AddParameter("ObjectMapID",sObjectMapID); mf_AddRequest(objRequest); } this.SubmitForm=mf_SubmitForm; function mf_SubmitForm(objForm,eTarget,sViewID) { var sURL=objForm.action; var objRequest=new CRequest(sURL,null,null,eTarget); ScrapeForm(objForm,objRequest); objRequest.AddParameter("ViewID",sViewID); mf_AddRequest(objRequest); } } function smf_ScrollMessage() { if(sm_bScrollMessage) { var sStr=sm_sScrollMessage; if(sStr.substr(0,1)==" ") sm_bScrollForward=true; if(sStr.substr(sStr.length-1,1)==" ") sm_bScrollForward=false; if(sm_bScrollForward) sStr=sStr.substr(sStr.length-1,1)+sStr.substr(0,sStr.length-1); else sStr=sStr.substr(1,sStr.length-1)+sStr.substr(0,1); sm_sScrollMessage=sStr; sStr="Please Wait "+String.fromCharCode(45)+sStr+String.fromCharCode(45); window.status=sStr; var obj=getObj("showStatus"); if(obj) obj.innerHTML=sStr; setTimeout("smf_ScrollMessage()",70) } else { window.status=""; var obj=getObj("showStatus"); if(obj) obj.innerHTML="Ready..."; } } var sm_bScrollMessage=false; var sm_sScrollMessage=" "+String.fromCharCode(45,45,45,45,45,45,45,45); var sm_bScrollForward=true; function wait(msecs) { var start = new Date().getTime(); var cur = start while(cur - start < msecs) { cur = new Date().getTime(); } } function CJetViewer(sViewID,objTree,objCB,objRIB,objHistoryBar,objReportPage,objStoredFolderBar,objSummaryBar,objSFPage) { this.SelectRefresh=mf_SelectRefresh; function mf_SelectRefresh() { m_bnRefresh.focus(); } function mf_BlinkRefresh() { Blink("bnRefresh"); } this.SwitchActiveGroupBy=mf_SwitchActiveGroupBy; function mf_SwitchActiveGroupBy(iFrom,iTo) { m_SummaryBar.SwitchActiveGroupBy(iFrom,iTo); mf_RefreshData(); } this.SummaryMerge=mf_SummaryMerge; function mf_SummaryMerge(iIndex,bMerge) { m_SummaryBar.Merge(iIndex,bMerge); mf_RefreshData(); } function mf_onWhatNext() { if(!m_CurrentDataObject) { mf_ShowPage(m_DataDiv,"welcome"); return; } var objCriteria=m_CurrentDataObject.GetCriteria(); if(objCriteria&&objCriteria.HasElements()) { mf_ShowObjectPage("dfselected"); } else { mf_ShowObjectPage("basicsearch"); m_Connection.StartAfterPending(mf_ShowHelpPage,"quicksearchhelp"); } } this.SortByFieldName=mf_SortByFieldName; function mf_SortByFieldName(sFieldName) { if(mf_GetViewType()=="summary") { m_CurrentDataObject.SetSummarySortBy(sFieldName); } else { m_CurrentDataObject.SetSortBy(m_CurrentDataObject.GetObjectMap().GetFieldIDByName(sFieldName,true)); } mf_RefreshData(); } this.BackToOM=mf_BackToOM; function mf_BackToOM() { mf_SelectOM(m_CurrentDataObject.GetObjectMap()); } this.DeleteCurrentRecordDataObject=mf_DeleteCurrentRecordDataObject; function mf_DeleteCurrentRecordDataObject() { m_Tree.DeleteNodeByID(mf_GetRecordTreeNodeID(m_CurrentDataObject)); } this.DataDblClick=mf_OnDetailClick; function mf_OnDetailClick() { if(m_sLastViewType=="summary") { var sID=m_hSelectedID.value; var bStillHasMultipleResults=m_CurrentDataObject.GetSummary().AddCriteriaForSelectedRecord(m_CurrentDataObject.GetCriteria(),sID); m_bCriteriaModified=true; if(!bStillHasMultipleResults) mf_SetViewType("detail"); mf_RefreshData(); } else { var sID=m_hSelectedID.value; var objNewDataObject=mf_GetRecordDataObject(m_CurrentDataObject.GetObjectMap().GetObjectMapID(),sID); if(!objNewDataObject) { objNewDataObject=new CDataObject(m_CurrentDataObject.GetObjectMap()); objNewDataObject.SetSingleRecordID(m_hSelectedID.value); m_aRecordDataObject[m_iRecordDataObjectID]=objNewDataObject; mf_AddToTree(objNewDataObject,m_iRecordDataObjectID++); if(m_CurrentDataObject.GetCriteria()&&m_CurrentDataObject.GetCriteria().HasElements()) { objNewDataObject.SetHistoryParentID(m_CurrentDataObject.GetDataObjectID()); } } mf_SelectDataObject(objNewDataObject); } } this.SubmitForm=mf_SubmitForm; function mf_SubmitForm(objForm,eTarget) { m_Connection.SubmitForm(objForm,eTarget,m_sViewID); } function mf_OnGoReportClick() { mf_OnGoClick("createreport"); } function mf_OnGoSaveDataClick() { mf_OnGoClick("savedata"); } function mf_OnGoStoreQueryClick() { mf_OnGoClick("storefolder"); } this.onGoClick=mf_OnGoClick; function mf_OnGoClick(sAction) { var iUIMode=0; if(!sAction) sAction=m_ptReport.options[m_ptReport.selectedIndex].id; switch(sAction) { case "savedata": //m_DataDiv.innerHTML=m_ReportPage.GetHTML(); m_Popup.innerHTML=m_ReportPage.GetHTML(); m_ReportPage.AttachControls(); if(mf_GetViewType()=="summary") iUIMode=5; else iUIMode=0; m_ReportPage.UpdateDisplay(m_CurrentDataObject,iUIMode); show_popup(); return; break; case "storefolder": if((!m_CurrentDataObject.GetCriteria()||!m_CurrentDataObject.GetCriteria().HasElements())&&(!m_CurrentDataObject.GetSummary()||!m_CurrentDataObject.GetSummary().HasElements())) { alert("No criteria defined, there's no need to save the folder."); return; } //m_DataDiv.innerHTML=m_ReportPage.GetHTML(); m_Popup.innerHTML=m_ReportPage.GetHTML(); m_ReportPage.AttachControls(); m_ReportPage.UpdateDisplay(m_CurrentDataObject,1); show_popup(); return; break; case "createreport": //m_DataDiv.innerHTML=m_ReportPage.GetHTML(); m_Popup.innerHTML=m_ReportPage.GetHTML(); m_ReportPage.AttachControls(); if(mf_GetViewType()=="summary") iUIMode=4; else iUIMode=2; m_ReportPage.UpdateDisplay(m_CurrentDataObject,iUIMode); show_popup(); return; break; case "createdefaultreport": if(mf_GetViewType()=="summary") { mf_CreateSummaryReportCurrent(false); } else { mf_CreateReportCurrent(false); } break; } } this.StoreFolder=mf_StoreFolder; function mf_StoreFolder(sFolderName) { m_CurrentDataObject.SetDisplayID(sFolderName); m_Connection.StoreFolder(m_sViewID,m_CurrentDataObject.GetObjectMap().GetObjectMapID(),sFolderName,m_CurrentDataObject.GetViewType(),m_CurrentDataObject.GetSummaryViewMode(),m_CurrentDataObject.GetCriteria().GetXML(),m_CurrentDataObject.GetSummary().GetXML(),mf_SetCurrentStoredFolderID); } this.GetCurrentDataObject=mf_GetCurrentDataObject; function mf_GetCurrentDataObject() { return m_CurrentDataObject; } function mf_SetCurrentStoredFolderID(iStoredFolderID) { if(window.TogetherJS) TogetherJS.send({type: "storedFoldersChanged"}); m_Connection.GetObjectXML(m_sViewID,"storedfolders",iStoredFolderID,mf_LoadStoredFolderXML,null,""); } function mf_AddToStoredFolders(objDataObject,bInBar) { var sOldTreeNodeID=objDataObject.ResetTreeNodeID(); if(sOldTreeNodeID) { var iHistoryLocation=parseInt(m_Tree.GetNodeByID(sOldTreeNodeID).GetExternalID(),10); m_aHistory[iHistoryLocation]=null; m_Tree.DeleteNodeByID(sOldTreeNodeID) } objDataObject.SetHistory(false,false,m_iDataObjectID); m_aHistory[m_iDataObjectID]=objDataObject; m_iDataObjectID++; if(bInBar) mf_ShowInStoredFolderBar(objDataObject); m_SFPage.Add(objDataObject); } this.ShowInStoredFolderBar=mf_ShowInStoredFolderBar; function mf_ShowInStoredFolderBar(objDataObject) { m_StoredFolderBar.Add(objDataObject); } this.SaveXML=mf_SaveXML; function mf_SaveXML(sObjectMapID,objQuery,objCriteria,objSummary,sFieldListXML,sRecordID) { m_fTheForm.action=m_sStartURL+"/getDataXML/main.php"; m_fTheForm.target="_blank"; m_feObjectMapID.value=sObjectMapID; m_feQuery.value=objQuery.GetXML(); m_feSummary.value=""; if(objSummary) { m_feSummary.value=objSummary.GetXML(); var objQuery=objSummary.GetQuery(); if(objQuery) { m_feQuery.value=objQuery.GetXML(); } } if(objCriteria) { m_feCriteria.value=objCriteria.GetXML(); } else { m_feCriteria.value=""; } if(sRecordID) { m_feRecordID.value=sRecordID; } else m_feRecordID.value=""; m_feFieldList.value=sFieldListXML; m_fTheForm.submit(); } this.CreateNewLayout=mf_CreateNewLayout; function mf_CreateNewLayout(sObjectMapID,Query,Criteria,sStyle,objSummary,sFieldListXML,sLayoutName,sRecordID) { m_fTheForm.action=m_sStartURL+"/NewLayout/main.php"; m_fTheForm.target="_blank"; m_feObjectMapID.value=sObjectMapID; m_feQuery.value=Query.GetXML(); if(Criteria) { m_feCriteria.value=Criteria.GetXML(); } else { m_feCriteria.value=""; } if(sRecordID) { m_feRecordID.value=sRecordID; } else m_feRecordID.value=""; m_feLayoutStyle.value=sStyle; m_feReportName.value=sLayoutName; if(objSummary) m_feSummary.value=objSummary.GetXML(); else m_feSummary.value=""; m_feFieldList.value=sFieldListXML; m_fTheForm.submit(); } this.CreateReportCurrent=mf_CreateReportCurrent; function mf_CreateReportCurrent(sReportID) { if(!sReportID) sReportID=m_CurrentDataObject.GetObjectMap().GetDefaultReportID(); m_ReportPage.CreateReport(m_CurrentDataObject,sReportID); } this.CreateSummaryReportCurrent=mf_CreateSummaryReportCurrent; function mf_CreateSummaryReportCurrent(sStyle) { if(!sStyle) sStyle="Standard Hierarchical Report"; m_ReportPage.CreateSummaryReport(m_CurrentDataObject,sStyle); } this.ShowCustomForm=mf_ShowCustomForm; function mf_ShowCustomForm(sFormPath,bNewWindow) { mf_SetSelected(false); var sObjectMapID=m_CurrentDataObject.GetObjectMap().GetObjectMapID(); var objQuery=null; var sRecordID=""; var sQuery=""; if(m_CurrentDataObject.IsSingleRecord()) { sRecordID=m_CurrentDataObject.GetRecordID(); } else { objQuery=new CQuery(); objQuery.AddElementsFrom(m_CurrentDataObject.GetCriteria()); sQuery=objQuery.GetXML(); } if(bNewWindow) { m_fTheForm.action=m_sStartURL+"/getCustomFormDataHTML/main.php"; m_fTheForm.target="_blank"; m_feSummary.value=sFormPath;//using summary to hold form path m_feObjectMapID.value=sObjectMapID; m_feQuery.value=sQuery; m_feCriteria.value=""; m_feRecordID.value=sRecordID; m_feLayoutStyle.value=""; m_feReportName.value=""; m_feFieldList.value=""; m_fTheForm.submit(); } else { var objTargetDiv=m_DataDiv; objTargetDiv.innerHTML=m_sLoading; m_Connection.GetCustomFormDataHTML(m_sViewID,sObjectMapID,sQuery,sRecordID,objTargetDiv,sFormPath); } } this.CreateReport=mf_CreateReport; function mf_CreateReport(sObjectMapID,objQuery,objCriteria,objSummary,sReportID,sRecordID) { m_fTheForm.action=m_sStartURL+"/CreateReport/main.php"; m_fTheForm.target="_blank"; m_feObjectMapID.value=sObjectMapID; m_feReportName.value=""; if(objQuery) m_feQuery.value=objQuery.GetXML(); else m_feQuery.value=""; if(objCriteria) { m_feCriteria.value=objCriteria.GetXML(); } else { m_feCriteria.value=""; } if(sRecordID) { m_feRecordID.value=sRecordID; } else m_feRecordID.value=""; var sSortByFieldID=""; if(objSummary) { m_feSummary.value=objSummary.GetXML(); sSortByFieldID=m_CurrentDataObject.GetSummarySortBy(); } else { m_feSummary.value=""; sSortByFieldID=m_CurrentDataObject.GetSortBy(); } m_feOrderBy.value=sSortByFieldID; m_feReportID.value=sReportID; m_fTheForm.submit(); var objRequest=m_Connection.GetReportLinkRequest(m_fTheForm); return objRequest; } this.SendReportLinkRequest=mf_SendReportLinkRequest; function mf_SendReportLinkRequest(objRequest) { m_Connection.AddRequest(objRequest); } this.DownloadLayout=mf_DownloadLayout; function mf_DownloadLayout(sObjectMapID,sReportID) { m_fTheForm.action=m_sStartURL+"/DownloadLayout/main.php"; m_fTheForm.target="_blank"; m_feObjectMapID.value=sObjectMapID; m_feReportID.value=sReportID; m_fTheForm.submit(); } this.EditLayout=mf_EditLayout; function mf_EditLayout(sObjectMapID,objQuery,objCriteria,objSummary,sReportID,sRecordID) { m_fTheForm.target="_blank"; m_feObjectMapID.value=sObjectMapID; m_feReportName.value=""; if(objQuery) m_feQuery.value=objQuery.GetXML(); else m_feQuery.value=""; if(objCriteria) { m_feCriteria.value=objCriteria.GetXML(); } else { m_feCriteria.value=""; } if(sRecordID) { m_feRecordID.value=sRecordID; } else m_feRecordID.value=""; var sSortByFieldID=""; if(objSummary) { m_feSummary.value=objSummary.GetXML(); sSortByFieldID=m_CurrentDataObject.GetSummarySortBy(); } else { m_feSummary.value=""; sSortByFieldID=m_CurrentDataObject.GetSortBy(); } m_feOrderBy.value=sSortByFieldID; m_feReportID.value=sReportID; if(!m_CurrentDataObject.GetObjectMap().GetReportEditable(sReportID)) { alert("This type of report can't be edited by the report editor. Sorry."); return; } m_fTheForm.action=m_sStartURL+"/CreateReport/editreport.php"; m_fTheForm.submit(); } this.UploadLayout=mf_UploadLayout; function mf_UploadLayout(sObjectMapID,sReportID) { m_fTheForm.action=m_sStartURL+"/UploadLayout/main.php"; m_fTheForm.target="_blank"; m_feObjectMapID.value=sObjectMapID; m_feReportID.value=sReportID; m_fTheForm.submit(); } this.SetDefaultLayout=mf_SetDefaultLayout; function mf_SetDefaultLayout(sObjectMapID,sReportID) { m_CurrentDataObject.GetObjectMap().SetDefaultReportID(sReportID); m_Connection.PerformAction(m_sViewID,sObjectMapID,"setdefaultreportid",sReportID,"") } this.DeleteLayout=mf_DeleteLayout; function mf_DeleteLayout(sObjectMapID,sReportID) { m_Connection.PerformAction(m_sViewID,sObjectMapID,"deletereport",sReportID,"") } this.DeleteStoredFolder=mf_DeleteStoredFolder; function mf_DeleteStoredFolder(sObjectMapID,iFolderID,iDataObjectID) { if(iDataObjectID) objDataObject=m_aHistory[iDataObjectID]; else objDataObject=m_CurrentDataObject; if(iFolderID) { m_Connection.PerformAction(m_sViewID,sObjectMapID,"deletestoredfolder",iFolderID,"") if(objDataObject) objDataObject.SetStoredFolderID(0); } if(objDataObject) { m_StoredFolderBar.Remove(objDataObject); m_SFPage.Remove(objDataObject); } if(window.TogetherJS) TogetherJS.send({type: "storedFoldersChanged"}); } this.UpdateDataObject=mf_UpdateDataObject; function mf_UpdateDataObject(iDataObject,sFolderName,sGroupName) { var obj=m_aHistory[iDataObject]; if(obj) { obj.SetGroupName(sGroupName); obj.SetFolderName(sFolderName); obj.SetDisplayID(sFolderName); m_StoredFolderBar.Remove(obj); m_StoredFolderBar.Add(obj); } } this.UpdateStoredFolderUsed=mf_UpdateStoredFolderUsed; function mf_UpdateStoredFolderUsed(sObjectMapID,iFolderID) { if(iFolderID) { m_Connection.PerformAction(m_sViewID,sObjectMapID,"updatestoredfolderused",iFolderID,""); } } this.DeleteReportLink=mf_DeleteReportLink; function mf_DeleteReportLink(iReportLinkID) { if(!confirm('Are you sure you want to delete this stored report?')) return; m_Connection.PerformAction(m_sViewID,"","deletereportlink",iReportLinkID,"") mf_ShowPage(null,"reports"); } this.SaveCSV=mf_SaveCSV; function mf_SaveCSV(sObjectMapID,objQuery,objCriteria,objSummary,sFieldListXML,sRecordID,sOrderBy,bCrossTab) { m_fTheForm.action=m_sStartURL+"/getDataCSV/main.php"; m_fTheForm.target="_blank"; m_feObjectMapID.value=sObjectMapID; m_feQuery.value=""; m_feOrderBy.value=sOrderBy; if(bCrossTab) m_feReportID.value="Cross Tab"; else m_feReportID.value=""; if(objSummary) { m_feSummary.value=objSummary.GetXML(); objQuery=objSummary.GetQuery(); } else { m_feSummary.value=""; } if(objQuery) { m_feQuery.value=objQuery.GetXML(); } if(objCriteria) m_feCriteria.value=objCriteria.GetXML(); else m_feCriteria.value=""; if(sRecordID) { m_feRecordID.value=sRecordID; } else m_feRecordID.value=""; m_feFieldList.value=sFieldListXML; m_fTheForm.submit(); } this.SetSelected=mf_SetSelected; function mf_SetSelected(bSelected) { m_bSelected=bSelected; m_bnDetail.disabled=!m_bSelected; m_RIBar.SetRecordSelected(m_bSelected); } this.OnDataLoaded=mf_OnDataLoaded; function mf_OnDataLoaded() { var obj=getObj("lastRecord"); if(!obj) return; var sLastRecord=obj.value; var iPos=sLastRecord.indexOf('#'); var sID=false; if(iPos==-1) iLastRecord=parseInt(sLastRecord,10); else { sID=sLastRecord.substr(iPos+1); sLastRecord=sLastRecord.substr(0,iPos); } var iLastRecord=parseInt(sLastRecord,10); var iRangeStart=m_CurrentDataObject.GetRangeStart(); var iRangeLength=m_CurrentDataObject.GetRangeLength(); if(iLastRecord) m_spShowingRecords.innerHTML="Showing Records "+(iRangeStart+1)+" to "+iLastRecord; else m_spShowingRecords.innerHTML="No Records"; m_bnPrevious.disabled=!(iRangeStart>0); m_bnNext.disabled=((iRangeStart+iRangeLength)>iLastRecord); if(!m_bForceNotSingle&&m_CurrentDataObject.GetParentSingleRecord()&&iLastRecord==1&&sID&&iRangeStart<2) { m_hSelectedID.value=sID; m_aSimpleHistory.splice(m_aSimpleHistory.length-1,1); mf_OnDetailClick(); } m_bForceNotSingle=false; jQuery('#trheader').sortable({items: 'td',stop: mf_DoColSort, beforeStop:function (event,ui) { if((ui.offset.top>ui.item.offset().top+ui.item.height())||(ui.offset.topm_iSimpleHistoryBackIndex) m_iSimpleHistoryForwardIndex=m_iSimpleHistoryBackIndex+1; m_iSimpleHistoryBackIndex-=1; mf_UpdateSimpleHistoryLabels(); mf_SelectDataObject(objDataObject,true); } function mf_onSimpleForwardClick() { var objDataObject=m_aSimpleHistory[m_iSimpleHistoryForwardIndex-1]; if(m_aSimpleHistory.length>m_iSimpleHistoryForwardIndex) m_iSimpleHistoryForwardIndex=m_iSimpleHistoryForwardIndex+1; m_iSimpleHistoryBackIndex+=1; mf_UpdateSimpleHistoryLabels(); mf_SelectDataObject(objDataObject,true); } this.BackToStart=mf_BackToStart; function mf_BackToStart() { Refresh(); } function mf_SummaryDefActive() { return getObj("divSummaryDef"); } function mf_DataObjectSelected(bBackOrForward) { if(!m_CurrentDataObject) return; if(!m_CurrentDataObject.GetObjectMap().GetFields()) { m_CurrentDataObject.GetObjectMap().LoadFieldsServer(mf_DataObjectSelected); return; } if(!bBackOrForward) mf_AddToSimpleHistory(m_CurrentDataObject); mf_SetNavEnabled(); var objCriteria=m_CurrentDataObject.GetCriteria(); if(objCriteria&&!objCriteria.ValidateObjects(m_View,mf_DataObjectSelected)) return; var objSummary=m_CurrentDataObject.GetSummary(); if(objSummary&&!objSummary.ValidateObjects(m_CurrentDataObject.GetObjectMap(),m_View,mf_DataObjectSelected)) return; m_bnNext.disabled=true; m_bnPrevious.disabled=true; m_spTitle.innerHTML=m_CurrentDataObject.GetObjectMap().GetObjectMapName(); var bRefreshData=false; if(m_CurrentDataObject.IsSingleRecord()) { m_spShowingRecords.innerHTML="Showing single record"; m_ptViewType.disabled=true; mf_UpdateViewTypeSelector(); m_bnRefresh.disabled=true; m_ptReport.disabled=false; m_bnGo.disabled=false; m_bnReport.disabled=false; m_bnSaveData.disabled=false; m_bnStoreQuery.disabled=false; m_Connection.GetDetailHTML(m_sViewID,m_CurrentDataObject.GetObjectMap().GetObjectMapID(),m_CurrentDataObject.GetRecordID(),m_DataDiv); m_DataDiv.innerHTML=m_sLoading; m_ExtraDiv.innerHTML=m_CurrentDataObject.GetObjectMap().GetCustomButtonHTML(); mf_ShowContextHelp(); } else { m_ptViewType.disabled=false; mf_UpdateViewTypeSelector(); m_bnRefresh.disabled=false; m_ptReport.disabled=false; m_bnGo.disabled=false; m_bnReport.disabled=false; m_bnSaveData.disabled=false; m_bnStoreQuery.disabled=false; if(m_CurrentDataObject.GetRangeStart()||(objCriteria&&objCriteria.HasElements())||(m_CurrentDataObject.GetSummary()&&m_CurrentDataObject.GetSummary().HasElements())) { bRefreshData=true; } m_ExtraDiv.innerHTML=m_CurrentDataObject.GetObjectMap().GetCustomButtonHTML(); } m_Tree.SelectNodeByID(m_CurrentDataObject.GetTreeNodeID()); m_HistoryBar.Select(m_CurrentDataObject); m_StoredFolderBar.Select(m_CurrentDataObject); mf_SetSelected(false); m_CriteriaBar.UpdateDisplay(m_CurrentDataObject); m_RIBar.UpdateDisplay(m_CurrentDataObject.GetObjectMap()); if(bRefreshData) mf_RefreshData(); else { if(!m_CurrentDataObject.IsSingleRecord&&bBackOrForward) { mf_ShowObjectPage("basicsearch"); } } } this.GetHistoryDataObject=mf_GetHistoryDataObject; function mf_GetHistoryDataObject(iDataObjectID) { return m_aHistory[iDataObjectID]; } this.GetRelatedDataObject=mf_GetRelatedDataObject; function mf_GetRelatedDataObject(objRelation,bSelected) { var objOtherObjectMap=m_View.GetObjectMap(objRelation.GetOtherObjectMapID()); var objNewFolder=new CDataObject(objOtherObjectMap); var objNewCriteria=new CQuery(); if(!bSelected&&!m_CurrentDataObject.IsSingleRecord()&&(!m_CurrentDataObject.GetCriteria()||!m_CurrentDataObject.GetCriteria().HasRelevantElements())) { objNewFolder.SetCriteria(objNewCriteria); return objNewFolder; } var objNewCriteriaElement=new CQueryElement(); if(m_CurrentDataObject.IsSingleRecord()) { objNewCriteriaElement.SetSingleRelation(objRelation,m_CurrentDataObject.GetRecordID(),objRelation.GetReverseDescription()+":"+m_CurrentDataObject.GetDisplayID(),m_CurrentDataObject.GetObjectMap(),objOtherObjectMap,!objRelation.GetTowardsOne()); objNewCriteria.AddQueryElement(objNewCriteriaElement); objNewFolder.SetCriteria(objNewCriteria); objNewFolder.SetParentSingleRecord(m_CurrentDataObject); mf_AddFolderToTree(objNewFolder,m_CurrentDataObject.GetTreeNodeID(),m_CurrentDataObject.GetRecordID()); } else if(bSelected) { objNewCriteriaElement.SetSingleRelation(objRelation,m_hSelectedID.value,objRelation.GetReverseDescription()+":"+m_hSelectedID.value,m_CurrentDataObject.GetObjectMap(),objOtherObjectMap,!objRelation.GetTowardsOne()); objNewCriteria.AddQueryElement(objNewCriteriaElement); objNewFolder.SetCriteria(objNewCriteria); mf_AddToHistory(objNewFolder,false); } else { mf_AddToHistory(m_CurrentDataObject,false); objNewCriteriaElement.SetRelational(objRelation,m_CurrentDataObject.GetCriteria(),m_CurrentDataObject.GetObjectMap(),objOtherObjectMap,!objRelation.GetTowardsOne(),true); objNewCriteria.AddQueryElement(objNewCriteriaElement); objNewFolder.SetCriteria(objNewCriteria); mf_AddToHistory(objNewFolder,m_CurrentDataObject,objRelation); } objNewCriteriaElement.SetParental(); return objNewFolder; } this.AddRelatedCriteria=mf_AddRelatedCriteria; function mf_AddRelatedCriteria(objRelation) { mf_CreateRelatedCriteria(objRelation); m_CriteriaBar.UpdateDisplay(); m_CriteriaBar.SelectAddedElement(); mf_SelectRefresh(); } function mf_CreateRelatedCriteria(objRelation) { var objOtherObjectMap=m_View.GetObjectMap(objRelation.GetOtherObjectMapID()); var objCriteria=m_CurrentDataObject.GetCriteria(); var objNewCriteriaElement=new CQueryElement(); objNewCriteriaElement.SetRelational(objRelation,new CQuery(),objOtherObjectMap,m_CurrentDataObject.GetObjectMap(),objRelation.GetTowardsOne(),false); objCriteria.AddQueryElement(objNewCriteriaElement); return objNewCriteriaElement.GetChildQuery(); } this.AddRelatedSummaryElement=mf_AddRelatedSummaryElement; function mf_AddRelatedSummaryElement(objRelation,bGroupBy) { var objOtherObjectMap=m_View.GetObjectMap(objRelation.GetOtherObjectMapID()); if(!objRelation.GetTowardsOne()) { alert("There are potentially multiple "+objOtherObjectMap.GetObjectMapName()+" records for each "+m_CurrentDataObject.GetObjectMap().GetObjectMapName()+" record. Adding this to the summary will result in summarising for all "+objOtherObjectMap.GetObjectMapName()+" records."); } var objNewCriteriaElement=new CQueryElement(); objNewCriteriaElement.SetRelational(objRelation,new CQuery(),objOtherObjectMap,m_CurrentDataObject.GetObjectMap(),objRelation.GetTowardsOne(),false); m_SummaryBar.AddRelatedSummaryElement(bGroupBy,objOtherObjectMap,objNewCriteriaElement) } function mf_DimDataTable(bDim) { var obj=getObj("datatable"); if(obj) { if(bDim) obj.className="displaytabledim"; else obj.className="displaytable"; } } this.ShowAllStoredFolders=mf_ShowAllStoredFolders function mf_ShowAllStoredFolders() { m_Popup.innerHTML=m_SFPage.GetHTML(); show_popup(true); jQuery(".tabs").tabs(); } function mf_Refresh() { mf_RefreshData(); } function mf_Next() { m_CurrentDataObject.NextRange(); mf_RefreshData(); } function mf_Previous() { m_CurrentDataObject.PreviousRange(); mf_RefreshData(); } this.ShowBasicSearchResult=mf_ShowBasicSearchResult; function mf_ShowBasicSearchResult() { m_Connection.StartAfterPending(mf_DoShowBasicSearchResult); } function mf_DoShowBasicSearchResult() { mf_RefreshData(); m_CriteriaBar.UpdateDisplay(); } this.RefreshData=mf_RefreshData; function mf_RefreshData() { if(m_CurrentDataObject.IsSingleRecord()) { mf_DataObjectSelected(); return; } var obj=getObj('divError'); if(obj) obj.innerHTML=""; mf_SetNavEnabled(); var sViewType=mf_GetViewType(); mf_SetSelected(false); if(m_bCriteriaModified) { mf_AddToHistory(m_CurrentDataObject,false); m_CurrentDataObject.ResetRange(); } else if(m_sLastViewType!=sViewType) { m_CurrentDataObject.ResetRange(); } m_sLastViewType=sViewType; m_HistoryBar.Select(m_CurrentDataObject); m_bCriteriaModified=false; var sExternalID=m_CurrentDataObject.GetObjectMap().GetObjectMapID(); var objCriteria=new CQuery(); objCriteria.AddElementsFrom(m_CurrentDataObject.GetCriteria()); var sSortByFieldID=m_CurrentDataObject.GetSortBy(); var iRangeStart=m_CurrentDataObject.GetRangeStart(); var iRangeLength=m_CurrentDataObject.GetRangeLength(); var objTargetDiv=m_DataDiv; var sSummary=""; var iSummaryViewMode=0; var sQuery=""; if(sViewType=="summary") { iSummaryViewMode=m_CurrentDataObject.GetSummaryViewMode(); mf_InitSummaryView(); objTargetDiv=m_SummaryBar.GetDataDiv(); sSummary=m_CurrentDataObject.GetSummary().GetXML(); sSortByFieldID=m_CurrentDataObject.GetSummarySortBy(); var objQuery=m_CurrentDataObject.GetSummary().GetQuery(); if(objQuery) sQuery=objQuery.GetXML(); } var sCriteria=objCriteria.GetXML(); objTargetDiv.innerHTML=m_sLoading; m_Connection.GetDataHTML(m_sViewID,sSummary,sExternalID,sQuery,sCriteria,objTargetDiv,iRangeStart,iRangeLength,sSortByFieldID,iSummaryViewMode,m_CurrentDataObject.GetColOrderString()); m_RIBar.UpdateDisplay(); m_CriteriaBar.UpdateDisplay(); mf_ShowContextHelp(true); } this.SetViewType=mf_SetViewType; function mf_SetViewType(sViewType) { if(m_CurrentDataObject) m_CurrentDataObject.SetViewType(sViewType); for(i=0;i "; } this.Show=mf_show; function mf_show(sDate) { this.dt = new Date(); if(sDate) { var aDt = sDate.split("-"); var dt = null; if ( aDt && (aDt.length == 3) ) { if(aDt[1].substr(0,1)=="0") aDt[1]=aDt[1].substr(1); if(aDt[2].substr(0,1)=="0") aDt[2]=aDt[2].substr(1); dt = new Date(parseInt(aDt[0]),parseInt(aDt[1])-1,parseInt(aDt[2])); } if(dt) this.dt = dt; } // if not rendered yet, do so if(!this.oSpan) this.render(); this.fill(); this.oMonth.focus(); } this.render=mf_render; function mf_render() { var oT1, oTR1, oTD1, oTH1; var oT2, oTR2, oTD2; this.oSpan = getObj(this.name); this.oSpan.appendChild(oT1 = document.createElement("table")); oT1.className = "dpTable"; oT1.cellPadding = 0; oT1.cellSpacing = 0; oTR1 = oT1.insertRow(oT1.rows.length); oTD1 = oTR1.insertCell(oTR1.cells.length); oTD1.colSpan = 7; oTD1.className = 'DatePickerHdr'; oT2 = document.createElement("table"); oTD1.appendChild(oT2); oT2.border = 0; oTR2 = oT2.insertRow(oT2.rows.length); oTD2 = oTR2.insertCell(oTR2.cells.length); oTD2.title = this.texts.prevYear; oTD2.onclick = function() { this.oDatePicker.onPrevYear(); } oTD2.oDatePicker = this; oTD2.innerHTML = "<<"; oTD2.className = 'DatePickerHdrBtn'; oTD2 = oTR2.insertCell(oTR2.cells.length); oTD2.title = this.texts.prevMonth; oTD2.onclick = function() { this.oDatePicker.onPrev(); } oTD2.oDatePicker = this; oTD2.innerHTML = "<"; oTD2.className = 'DatePickerHdrBtn'; oTD2 = oTR2.insertCell(oTR2.cells.length); this.oMonth = document.createElement("select"); oTD2.appendChild(this.oMonth); this.oMonth.oDatePicker = this; this.oMonth.className="select"; this.oMonth.onchange = this.oMonth.onkeyup = function() { this.oDatePicker.onMonth(); } for ( var i = 0; i < 12; i++ ) { this.oMonth.add(new Option(this.texts.months[i], i),undefined); } this.oYear = oTR2.insertCell(oTR2.cells.length); this.oYear.title = this.texts.yearTitle; this.oYear.oDatePicker = this; this.oYear.className = 'DatePickerHdrBtn'; oTD2 = oTR2.insertCell(oTR2.cells.length); oTD2.title = this.texts.nextMonth; oTD2.onclick = function() { this.oDatePicker.onNext(); } oTD2.oDatePicker = this; oTD2.innerHTML = ">"; oTD2.className = 'DatePickerHdrBtn'; oTD2 = oTR2.insertCell(oTR2.cells.length); oTD2.title = this.texts.nextYear; oTD2.onclick = function() { this.oDatePicker.onNextYear(); } oTD2.oDatePicker = this; oTD2.innerHTML = ">>"; oTD2.className = 'DatePickerHdrBtn'; oTR1 = oT1.insertRow(oT1.rows.length); for ( i = 0; i < 7; i++ ) { oTH1 = document.createElement("th"); oTR1.appendChild(oTH1); oTH1.innerHTML = this.texts.days[i]; oTH1.className = 'DatePicker'; } this.aCells = new Array; for ( var j = 0; j < 6; j++ ) { this.aCells.push(new Array); oTR1 = oT1.insertRow(oT1.rows.length); for ( i = 0; i < 7; i++ ) { this.aCells[j][i] = oTR1.insertCell(oTR1.cells.length); this.aCells[j][i].oDatePicker = this; this.aCells[j][i].onclick = function() { this.oDatePicker.onDay(this); } } } } this.fill=mf_fill; function mf_fill() { // first clear all this.clear(); // place the dates in the calendar var nRow = 0; var d = new Date(this.dt.getTime()); var m = d.getMonth(); for ( d.setDate(1); d.getMonth() == m; d.setTime(d.getTime() + 86400000) ) { var nCol = d.getDay(); this.aCells[nRow][nCol].innerHTML = d.getDate(); if ( d.getDate() == this.dt.getDate() ) { this.aCells[nRow][nCol].className = 'DatePickerBtnSelect'; } if ( nCol == 6 ) nRow++; } // set the month combo this.oMonth.value = m; // set the year text this.oYear.innerHTML = this.dt.getFullYear(); } this.clear=mf_clear; function mf_clear() { for ( var j = 0; j < 6; j++ ) for ( var i = 0; i < 7; i++ ) { this.aCells[j][i].innerHTML = " " this.aCells[j][i].className = 'DatePickerBtn'; } } this.onPrev=mf_onPrev; function mf_onPrev() { if ( this.dt.getMonth() == 0 ) { this.dt.setFullYear(this.dt.getFullYear() - 1); this.dt.setMonth(11); } else { this.dt.setMonth(this.dt.getMonth() - 1); } this.fill(); } this.onNext=mf_onNext; function mf_onNext() { if ( this.dt.getMonth() == 11 ) { this.dt.setFullYear(this.dt.getFullYear() + 1); this.dt.setMonth(0); } else { this.dt.setMonth(this.dt.getMonth() + 1); } this.fill(); } this.onNextYear=mf_onNextYear; function mf_onNextYear() { this.dt.setFullYear(this.dt.getFullYear() + 1); this.fill(); } this.onPrevYear=mf_onPrevYear; function mf_onPrevYear() { this.dt.setFullYear(this.dt.getFullYear() - 1); this.fill(); } this.onMonth=mf_onMonth; function mf_onMonth() { this.dt.setMonth(this.oMonth.value); this.fill(); } this.onDay=mf_onDay; function mf_onDay(oCell) { var d = parseInt(oCell.innerHTML); if ( d > 0 ) { this.dt.setDate(d); this.fill(); } } this.texts = { months: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ], days: ["S", "M", "T", "W", "T", "F", "S"], prevMonth: "Previous Month", nextMonth: "Next Month", nextYear: "Next Year", prevYear: "Previous Year", close: "Close Calendar", yearTitle: "Year", yearQuestion: "Enter a new year:" }; this.GetValue=mf_GetValue; function mf_GetValue() { var sMonth,sDate; if(this.dt.getMonth()<9) sMonth="0"+(this.dt.getMonth() + 1); else sMonth=(this.dt.getMonth() + 1); if(this.dt.getDate()<10) sDate="0"+this.dt.getDate(); else sDate=this.dt.getDate(); return this.dt.getFullYear() + "-" + sMonth + "-" + sDate; } } function showDP(oDatePicker,oTxt) { // since we control the text format in callback(), getting the date is easy var aDt = oTxt.value.split("-"); var dt = null; if ( aDt && (aDt.length == 3) ) { if(aDt[1].substr(0,1)=="0") aDt[1]=aDt[1].substr(1,1); if(aDt[2].substr(0,1)=="0") aDt[2]=aDt[2].substr(1,1); dt = new Date(parseInt(aDt[0]),parseInt(aDt[1])-1,parseInt(aDt[2])); } // store the textbox for use in the client oDatePicker.client = oTxt; oDatePicker.Show(dt, oTxt.offsetLeft, oTxt.offsetTop-110); } function CReportPage(objTreeLeft,objTreeRight,sObjID) { var m_JetViewer=null; var m_TreeLeft=objTreeLeft; var m_Query; var m_asFieldList=new Array(); m_TreeLeft.SetCallback(mf_treeCallbackLeft); m_TreeLeft.SetNoPlusMinus(true); m_TreeLeft.SetNoScroll(true); m_TreeLeft.SetMultiSelect(true); var m_TreeRight=objTreeRight; m_TreeRight.SetCallback(mf_treeCallbackRight); m_TreeRight.SetNoPlusMinus(true); m_TreeRight.SetNoScroll(true); m_TreeRight.SetMultiSelect(true); var m_cbFilter=null; var m_etFolderName=null; var m_etLayoutName=null; var m_bFilter=false; var m_CurrentDataObject=null; var m_iUIMode=0;//0=SaveData,1=store folder,2=select report,3=new report,4=summary report,5=save data,6=store report link var m_sObjID=sObjID; var m_sStartReportOuterHTML=""; var m_sStartSummaryStylesOuterHTML="Report Style: "; this.SetJetViewer=mf_SetJetViewer; function mf_SetJetViewer(objJetViewer) { m_JetViewer=objJetViewer; } this.AttachControls=mf_AttachControls; function mf_AttachControls() { m_cbFilter=getObj('cbFilter'); m_etFolderName=getObj('etFolderName'); m_etLayoutName=getObj('etLayoutName'); m_cbFilter.onclick=mf_onFilterClick; } function mf_onFilterClick() { mf_Clear(); mf_UpdateDisplay(); } function mf_Clear() { m_asFieldList=new Array(); m_Query.TruncateFieldLists(); m_TreeLeft.Clear(); m_TreeRight.Clear(); } this.onStoreSummaryTemplateNoThanks=mf_onStoreSummaryTemplateNoThanks; function mf_onStoreSummaryTemplateNoThanks() { mt_iBackTo=7; mf_UpdateDisplay(m_CurrentDataObject,6); } this.UpdateDisplay=mf_UpdateDisplay; function mf_UpdateDisplay(objDataObject,iUIMode) { if(objDataObject) { mf_UpdateDisplayControls(true); m_iUIMode=iUIMode; m_CurrentDataObject=objDataObject; m_Query=new CQuery(); if(m_iUIMode==1) m_etFolderName.value=m_CurrentDataObject.GetDisplayID(); mf_Clear(); if((m_iUIMode==2||m_iUIMode==4)&&m_CurrentDataObject.GetObjectMap().GetNewReport()) { m_CurrentDataObject.GetObjectMap().LoadFieldsServer(mf_UpdateDisplay); return; } } if(m_iUIMode==0||m_iUIMode==3) { m_bFilter=m_cbFilter.checked||m_iUIMode==3; var nNode=m_TreeLeft.AddNewRootNode("root",m_CurrentDataObject.GetDisplayID(),m_CurrentDataObject.GetObjectMap().GetFolderIconPath(),m_CurrentDataObject.GetObjectMap().GetFolderIconPath(),"root","reportdataobject",""); if(m_bFilter) { if(!mf_ShowFields(m_CurrentDataObject.GetObjectMap(),nNode,null,m_TreeLeft,"")) return; } if(!mf_ShowRelations(m_CurrentDataObject,null,nNode,m_Query,true,"")) return; var nNode=m_TreeRight.AddNewRootNode("root",m_CurrentDataObject.GetDisplayID(),m_CurrentDataObject.GetObjectMap().GetFolderIconPath(),m_CurrentDataObject.GetObjectMap().GetFolderIconPath(),"root","reportdataobject",""); if(m_bFilter) { if(!mf_ShowFields(m_CurrentDataObject.GetObjectMap(),nNode,m_asFieldList,m_TreeRight,"")) return; } if(!mf_ShowRelations(m_CurrentDataObject,null,nNode,m_Query,false,"")) return; m_TreeLeft.UpdateDisplay(); m_TreeLeft.OpenAll(); m_TreeRight.UpdateDisplay(); m_TreeRight.OpenAll(); } if(m_iUIMode==6&&!m_CurrentDataObject.IsSingleRecord()) mf_ShowParameterisableCriteria(); mf_UpdateDisplayControls(); } function mf_ShowFields(objObjectMap,objNodeParent,aFieldList,objTree,sParentID) { var aFields=objObjectMap.GetFields(); if(!aFields) { objObjectMap.LoadFieldsServer(mf_UpdateDisplay); return false; } for(var i=0;i-1) { mf_ShowField(objNodeParent,aFields[i],objTree,sParentID); } } } return true; } function mf_ShowField(objNodeParent,objField,objTree,sParentID) { var sIconPath="fa fa-caret-right"; return objTree.AddNewNodeToNode(objNodeParent,sParentID+objField.GetID(),objField.GetName(),sIconPath,sIconPath,sParentID+objField.GetID(),"reportdatafield",""); } function mf_ShowRelations(objDataObject,objObjectMap,objNode,objQuery,bLeft,sParentID) { var objTree; if(bLeft) { objTree=m_TreeLeft; } else { objTree=m_TreeRight; } if(objDataObject) objObjectMap=objDataObject.GetObjectMap(); var bToManySelected=false; var aElements=objQuery.GetElements(); var asShown=new Array(); for(var i=0;i-1) SetVisible("divReportCorrectLevel",true); SetVisible("divReportSelectData",true); SetVisible("divReportSaveData",true); break; case 1: SetVisible("divReportStoreFolderTitle",true); SetVisible("divReportStoreFolderName",true); SetVisible("divReportStoreFolder",true); break; case 2: SetVisible("divReportCreateReportTitle",true); if(m_CurrentDataObject.GetHistoryParentID()>-1) SetVisible("divReportCorrectLevel",true); SetVisible("divReportCreateReportIntro",true); SetVisible("spNewLayout",!bNoChangesPermission); SetVisible("divReportTemplateControls",!bNoChangesPermission); SetVisible("divReportCreateReportReports",true); var objReportsDiv=getObj("divReportCreateReportReportsList"); objReportsDiv.innerHTML=m_sStartReportOuterHTML+m_CurrentDataObject.GetObjectMap().GetReportsOptions()+m_sCloseSelect; SetVisible("divReportCreateReport",true); break; case 3: SetVisible("divReportNewLayoutName",true); SetVisible("divReportNewLayoutTitle",true); SetVisible("divReportNewLayoutIntro",true); SetVisible("divReportNewLayoutStyles",true); var objReportsDiv=getObj("divReportNewLayoutStyles"); var objPtReportStyles=getObj("ptReportStyles"); if(objPtReportStyles) iSelected=objPtReportStyles.selectedIndex; else iSelected=-1; objReportsDiv.innerHTML=m_sStartStylesOuterHTML+m_JetViewer.GetView().GetReportStylesOptions(iSelected)+m_sCloseSelect; SetVisible("divReportSelectData",true); SetVisible("divReportNewLayout",true); break; case 4: //create report when on summary var objReportsDiv=getObj("divReportSummaryReportStyles"); SetVisible("divShowCount",true); SetVisible("divSummaryNote",true); SetVisible("divReportSummaryReport",true); SetVisible("divReportCreateReportTitle",true); SetVisible("divReportCreateSummaryFromTemplateIntro",true); SetVisible("divReportTemplateControls",!bNoChangesPermission); SetVisible("divReportCreateReportReports",true); SetVisible("divReportCreateReport",true); objReportsDiv.innerHTML=m_sStartSummaryStylesOuterHTML+m_JetViewer.GetView().GetReportStylesOptions()+m_sCloseSelect; var objReportsDiv=getObj("divReportCreateReportReportsList"); objReportsDiv.innerHTML=m_sStartReportOuterHTML+m_CurrentDataObject.GetObjectMap().GetReportsOptions()+m_sCloseSelect; break; case 5: SetVisible("divSummaryNote",true); SetVisible("divReportSaveDataTitle",true); SetVisible("divReportSaveData",true); break; case 6: SetVisible("divReportStoreReportLinkTitle",true); SetVisible("divReportStoreReportLinkName",true); if(m_CurrentDataObject.GetReportLinkID()) { SetVisible("divReportStoreReportLinkOverwrite",true); getObj("spReportStoreReportLinkOverwriteName").innerHTML=m_CurrentDataObject.GetDisplayID(); getObj("cbReportStoreReportLinkOverwrite").checked=false; } SetVisible("divReportStoreReportLinkParameterise",getObj("divReportStoreReportLinkParameteriseInner").innerHTML!=""); SetVisible("divReportStoreReportLink",true); break; case 7: SetVisible("divReportStoreSummaryTemplate",true); SetVisible("divReportStoreSummaryLayoutName",true); SetVisible("divReportStoreSummaryLayoutTitle",true); break; } } var mt_asParameteriseControls; function mf_ShowParameterisableCriteria() { var sHTML=""; if(!m_CurrentDataObject.IsSingleRecord()) { mt_asParameteriseControls=Array(); var asParameteriseableElements=Array(); m_CurrentDataObject.GetCriteria().GetParameteriseableElements(asParameteriseableElements); if(asParameteriseableElements.length) { sHTML+="" ; for(i=0;i"; mt_asParameteriseControls[i]="selParameteriseableElements"+i; } sHTML+="
"; } } getObj("divReportStoreReportLinkParameteriseInner").innerHTML=sHTML; } function mf_treeCallbackLeft(sAction,sID,sExternalID,sType,sParameter,sLabel) { switch(sAction) { case "select": switch(sType) { default: break; } break; case "dblclick": switch(sType) { default: mf_onAddClick(); break; } break; } return true; } function mf_treeCallbackRight(sAction,sID,sExternalID,sType,sParameter,sLabel) { switch(sAction) { case "select": switch(sType) { default: break; } break; case "dblclick": switch(sType) { default: mf_onRemoveClick(); break; } break; } return true; } function mf_AddObject(nNode) { var objQuery=m_Query; var sID=nNode.GetExternalID(); //var sID=m_TreeLeft.GetSelectedNodeExternalID(); if(sID=="root") return; var iIndex=sID.indexOf("#"); var objObjectMap=m_CurrentDataObject.GetObjectMap(); while(iIndex>-1) { var sSubID=sID.substr(0,iIndex); sID=sID.substr(iIndex+1); var objElement=objQuery.GetElementByRelationID(sSubID); objObjectMap=objElement.GetRelatedObjectMap(); objQuery=objElement.GetChildQuery(); iIndex=sID.indexOf("#"); } if(objQuery.GetElementByRelationID(sID)) return; var objRelation=objObjectMap.GetRelation(sID); var objNewQueryElement=new CQueryElement(); objNewQueryElement.SetRelational(objRelation,new CQuery(),m_JetViewer.GetView().GetObjectMap(objRelation.GetOtherObjectMapID()),objObjectMap,objRelation.GetTowardsOne(),false); objNewQueryElement.SetGetData(true); objQuery.AddQueryElement(objNewQueryElement); mf_UpdateDisplay(); } this.onAddClick=mf_onAddClick; function mf_onAddClick() { var asSelectedNodeIDs=m_TreeLeft.GetSelectedNodeIDs(); for(i=0;i-1) { var sSubID=sID.substr(0,iIndex); sID=sID.substr(iIndex+1); objElement=objQuery.GetElementByRelationID(sSubID); iIndex=sID.indexOf("#"); if(iIndex>-1) objQuery=objElement.GetChildQuery(); } var asFields; if(objElement) { asFields=objElement.GetFieldList(); } else { asFields=m_asFieldList; } var iFieldIndex=ArrayFind(asFields,sID); if(iFieldIndex=-1) asFields[asFields.length]=sID; mf_UpdateDisplay(); } function mf_RemoveField() { var objQuery=m_Query; var objElement=null; var sID=m_TreeRight.GetSelectedNodeExternalID(); if(sID=="root") return; var iIndex=sID.indexOf("#"); while(iIndex>-1) { var sSubID=sID.substr(0,iIndex); sID=sID.substr(iIndex+1); objElement=objQuery.GetElementByRelationID(sSubID); iIndex=sID.indexOf("#"); if(iIndex>-1) objQuery=objElement.GetChildQuery(); } var asFields; if(objElement) { asFields=objElement.GetFieldList(); var iFieldIndex=ArrayFind(asFields,sID); objElement.SetFieldList(ArrayRemove(asFields,iFieldIndex)); } else { asFields=m_asFieldList; var iFieldIndex=ArrayFind(asFields,sID); m_asFieldList=ArrayRemove(asFields,iFieldIndex); } m_TreeRight.DeleteNodeByID(m_TreeRight.GetSelectedNodeID()); mf_UpdateDisplay(); } function mf_RemoveObject() { var objQuery=m_Query; var sID=m_TreeRight.GetSelectedNodeExternalID(); if(sID=="root") return; var iIndex=sID.indexOf("#"); while(iIndex>-1) { var sSubID=sID.substr(0,iIndex); sID=sID.substr(iIndex+1); var objElement=objQuery.GetElementByRelationID(sSubID); iIndex=sID.indexOf("#"); objQuery=objElement.GetChildQuery(); } var iElementIndex=objQuery.GetElementIndexByRelationID(sID); objQuery.RemoveElement(iElementIndex); m_TreeRight.DeleteNodeByID(m_TreeRight.GetSelectedNodeID()); mf_UpdateDisplay(); } function mf_CheckQueryAgainstChildren(objQuery) { var objQuery=m_CurrentDataObject.CheckQueryAgainstChildren(objQuery); return m_CurrentDataObject.CheckQueryAgainstAncestors(objQuery); } this.onSaveXMLClick=mf_onSaveXMLClick; function mf_onSaveXMLClick() { var objQuery=mf_CheckQueryAgainstChildren(m_Query); var objSummary=false; if(m_iUIMode==5) { objSummary=m_CurrentDataObject.GetSummary(); } m_JetViewer.SaveXML(m_CurrentDataObject.GetObjectMap().GetObjectMapID(),objQuery,m_CurrentDataObject.GetCriteria(),objSummary,GetFieldListXML(m_asFieldList),m_CurrentDataObject.GetRecordID()); } this.onStoreFolderClick=mf_onStoreFolderClick; function mf_onStoreFolderClick() { m_JetViewer.StoreFolder(m_etFolderName.value); } this.onStoreReportLinkClick=mf_onStoreReportLinkClick; function mf_onStoreReportLinkClick() { mt_objRequest.AddParameter("HelpText",getObj("taHelpText").value); if(getObj('cbReportStoreReportLinkOverwrite').checked) { mt_objRequest.AddParameter("OverwriteReportLinkID",m_CurrentDataObject.GetReportLinkID()); mt_objRequest.AddParameter("ReportLinkName",m_CurrentDataObject.GetDisplayID()); } else { mt_objRequest.AddParameter("OverwriteReportLinkID",''); mt_objRequest.AddParameter("ReportLinkName",getObj("etReportLinkName").value); } mt_objRequest.AddParameter("Overwrite",getObj("taHelpText").value); if(!m_CurrentDataObject.IsSingleRecord()) { var abParameteriseCriteria=Array(); for(i=0;i -1)) { alert("No report template selected"); return; } if(!confirm("Are you sure you want to delete this report template? (This cannot be undone)")) return; var sReportID=getObj("ptReportReports").options[getObj("ptReportReports").selectedIndex].value; m_JetViewer.DeleteLayout(m_CurrentDataObject.GetObjectMap().GetObjectMapID(),sReportID); m_CurrentDataObject.GetObjectMap().SetNewReport(); mf_UpdateDisplay(m_CurrentDataObject,m_iUIMode); } this.onDownloadLayoutClick=mf_onDownloadLayoutClick; function mf_onDownloadLayoutClick() { if(!(getObj("ptReportReports").selectedIndex > -1)) { alert("No report template selected"); return; } var sReportID=getObj("ptReportReports").options[getObj("ptReportReports").selectedIndex].value; m_JetViewer.DownloadLayout(m_CurrentDataObject.GetObjectMap().GetObjectMapID(),sReportID); } this.onUploadLayoutClick=mf_onUploadLayoutClick; function mf_onUploadLayoutClick() { if(!(getObj("ptReportReports").selectedIndex > -1)) { alert("No report template selected"); return; } var sReportID=getObj("ptReportReports").options[getObj("ptReportReports").selectedIndex].value; m_JetViewer.UploadLayout(m_CurrentDataObject.GetObjectMap().GetObjectMapID(),sReportID); } this.onEditLayoutClick=mf_onEditLayoutClick; function mf_onEditLayoutClick() { if(!(getObj("ptReportReports").selectedIndex > -1)) { alert("No report template selected"); return; } mt_sReportID=getObj("ptReportReports").options[getObj("ptReportReports").selectedIndex].value; mf_DoEditReport(); } function mf_DoEditReport() { var objReport=m_CurrentDataObject.GetObjectMap().GetReport(mt_sReportID); if(!objReport) return; m_Query=objReport.GetQuery(); var objView=m_JetViewer.GetView(); if(!m_Query) { objReport.LoadQueryServer(objView,mf_DoEditReport); return; } if(!m_Query.ValidateObjects(objView,mf_DoEditReport)) { return; } m_JetViewer.EditLayout(m_CurrentDataObject.GetObjectMap().GetObjectMapID(),m_Query,m_CurrentDataObject.GetCriteria(),false,mt_sReportID,m_CurrentDataObject.GetRecordID()); } this.onSetTemplateOwnershipClick=mf_onSetTemplateOwnershipClick; function mf_onSetTemplateOwnershipClick() { if(!(getObj("ptReportReports").selectedIndex > -1)) { alert("No report template selected"); return; } var sReportID=getObj("ptReportReports").options[getObj("ptReportReports").selectedIndex].value; objJetViewer.ShowPage(null,"templateownership",m_CurrentDataObject.GetObjectMap().GetObjectMapID()+"#"+sReportID); } this.onSetDefaultLayoutClick=mf_onSetDefaultLayoutClick; function mf_onSetDefaultLayoutClick() { if(!(getObj("ptReportReports").selectedIndex > -1)) { alert("No report template selected"); return; } var sReportID=getObj("ptReportReports").options[getObj("ptReportReports").selectedIndex].value; m_JetViewer.SetDefaultLayout(m_CurrentDataObject.GetObjectMap().GetObjectMapID(),sReportID); mf_UpdateDisplay(); } var mt_sReportID; var mt_objRequest; var mt_iBackToView; this.onCreateReportClick=mf_onCreateReportClick; function mf_onCreateReportClick() { if(!(getObj("ptReportReports").selectedIndex > -1)) { alert("No report template selected"); return; } mt_sReportID=getObj("ptReportReports").options[getObj("ptReportReports").selectedIndex].value; mf_DoCreateReport(); } this.BackToReports=mf_BackToReports; function mf_BackToReports() { mf_UpdateDisplay(m_CurrentDataObject,mt_iBackToView); } this.CreateReport=mf_CreateReport; function mf_CreateReport(objDataObject,sReportID) { mt_sReportID=sReportID; m_CurrentDataObject=objDataObject; mf_DoCreateReport(); } function mf_DoCreateReport() { var objReport=m_CurrentDataObject.GetObjectMap().GetReport(mt_sReportID); if(!objReport) return; m_Query=objReport.GetQuery(); var objView=m_JetViewer.GetView(); //should always be done these days if(!m_Query) { objReport.LoadQueryServer(objView,mf_DoCreateReport); return; } if(!m_Query.ValidateObjects(objView,mf_DoCreateReport)) { return; } //// var objQuery=mf_CheckQueryAgainstChildren(m_Query); mt_objRequest=m_JetViewer.CreateReport(m_CurrentDataObject.GetObjectMap().GetObjectMapID(),objQuery,m_CurrentDataObject.GetCriteria(),false,mt_sReportID,m_CurrentDataObject.GetRecordID()); mt_iBackToView=2; if(m_iUIMode==4) mt_iBackToView=4; if(m_iUIMode==2||m_iUIMode==3||m_iUIMode==4) { mf_UpdateDisplay(m_CurrentDataObject,6); } } function mf_DoCreateSummaryReport() { var sStyle=mt_sReportID; var bChart=false; if(sStyle=="Bar Chart") bChart=true; if(sStyle=="Cummulative Bar Chart") bChart=true; if(bChart&&!mf_CheckValidForSummaryChart()) return; mt_objRequest=m_JetViewer.CreateReport(m_CurrentDataObject.GetObjectMap().GetObjectMapID(),m_CurrentDataObject.GetSummary().GetQuery(),m_CurrentDataObject.GetCriteria(),m_CurrentDataObject.GetSummary(),sStyle,false); mt_iBackToView=4; if(m_iUIMode==4) mf_UpdateDisplay(m_CurrentDataObject,7); } this.onCreateSummaryReportClick=mf_onCreateSummaryReportClick; function mf_onCreateSummaryReportClick() { if(!(getObj("ptReportSummaryReportStyles").selectedIndex > -1)) { alert("No report style selected"); return; } m_CurrentDataObject.GetSummary().SetIncludeRecordCount(getObj('cbIncludeCount').checked); var sStyle=getObj("ptReportSummaryReportStyles").options[getObj("ptReportSummaryReportStyles").selectedIndex].text; if(sStyle=="CrossTab Report") { if(m_CurrentDataObject.GetSummaryViewMode()!=1) { alert("You need to be in CrossTab View to create a CrossTab Report"); return; } } mt_sReportID=sStyle; mf_DoCreateSummaryReport(); } this.CreateSummaryReport=mf_CreateSummaryReport; function mf_CreateSummaryReport(objDataObject,sStyle) { mt_sReportID=sStyle; m_CurrentDataObject=objDataObject; mf_DoCreateSummaryReport(); } this.onCreateNewLayoutClick=mf_onCreateNewLayoutClick; function mf_onCreateNewLayoutClick() { if(!(getObj("ptReportStyles").selectedIndex > -1)) { alert("No report style selected"); return; } var sStyle=getObj("ptReportStyles").options[getObj("ptReportStyles").selectedIndex].text; var bChart=false; if(sStyle=="Bar Chart") bChart=true; if(sStyle=="Cummulative Bar Chart") bChart=true; if(sStyle=="Bar Chart (VML)") bChart=true; if(sStyle=="Radar Chart") bChart=true; if(sStyle=="Cross Tab"||sStyle=="Cross Chart (VML)"||sStyle=="Cross Chart (fusion)"||sStyle=="Cube Graph") { alert("CrossTab Report only available for summary view"); return; } if(bChart&&!mf_CheckValidForChart()) return; if(!m_bPreviouslyWarned) { var objRepeated=m_Query.CheckForRepeated(null,m_CurrentDataObject.GetObjectMap()); if(objRepeated) { alert("Information for "+objRepeated.GetObjectMapName()+" is included in the report more than once. This may result in a very large number of results in the report. If you are sure you want to continue click 'create new template' once more."); m_bPreviouslyWarned=true; return; } } var sReportName=m_etLayoutName.value; var objQuery=mf_CheckQueryAgainstChildren(m_Query); m_JetViewer.CreateNewLayout(m_CurrentDataObject.GetObjectMap().GetObjectMapID(),objQuery,m_CurrentDataObject.GetCriteria(),sStyle,false,GetFieldListXML(m_asFieldList),sReportName,m_CurrentDataObject.GetRecordID()); m_CurrentDataObject.GetObjectMap().SetNewReport(); mf_UpdateDisplay(m_CurrentDataObject,2); m_JetViewer.StartAfterPending(mf_AfterNewReport); } function mf_AfterNewReport() { m_CurrentDataObject.GetObjectMap().SetNewReport(); mf_UpdateDisplay(m_CurrentDataObject,m_iUIMode); } this.onNewLayoutClick=mf_onNewLayoutClick; function mf_onNewLayoutClick() { m_bPreviouslyWarned=false; mf_UpdateDisplay(m_CurrentDataObject,3); show_popup(); } this.onSaveCSVClick=mf_onSaveCSVClick; function mf_onSaveCSVClick() { var objQuery=mf_CheckQueryAgainstChildren(m_Query); var objSummary=false; var bCrossTab=false; sOrderBy=m_CurrentDataObject.GetSortBy() if(m_iUIMode==5) { objSummary=m_CurrentDataObject.GetSummary(); sOrderBy=m_CurrentDataObject.GetSummarySortBy(); bCrossTab=m_CurrentDataObject.GetSummaryViewMode()==1; } m_JetViewer.SaveCSV(m_CurrentDataObject.GetObjectMap().GetObjectMapID(),objQuery,m_CurrentDataObject.GetCriteria(),objSummary,GetFieldListXML(m_asFieldList),m_CurrentDataObject.GetRecordID(),sOrderBy,bCrossTab); } function mf_CheckValidForSummaryChart() { var objSummary=m_CurrentDataObject.GetSummary(); var aElements=objSummary.GetElements(); var bNumericAggregate=objSummary.GetIncludeRecordCount(); for(var i=1;i"; sHTML+="
Please enter a name for the template
"; sHTML+="

You can store this report in the library so you can create it again later - each time you run the report it will pick up the latest data.

If you don't want to store the report, just click 'do not store'

Enter a name for the stored report

"; sHTML+="
    or overwrite the existing '' report

"; sHTML+="

You can store this layout as a template so can create reports in the same format again

If you don't want to store the layout, just click 'do not store'

Enter a name for the template

"; sHTML+="
Parameterisable Criteria

You can allow some of the filters to be changed when you run the report again.

Select them here if you want to be able to change them later.

Report Description

You can enter text here if you want to explain this report to other users...

"; sHTML+="
Please enter a name for the folder .
"; sHTML+="
You recently looked at some information higher in the history tree.
If you would like that information to be the top level of your report please start your report from there.
"; sHTML+="
Please select the report template you would like to use or click to create a new report template.

"; sHTML+="

Or select the report template you would like to use.
"; sHTML+="
Please select the data you require and one of the style options...

asd
"; sHTML+="
Templates
asd





"; sHTML+="

"; sHTML+="

"; sHTML+=""; sHTML+="

"; sHTML+="
Please select any related information you would like to save below.
Select fields
"; sHTML+="
Available Information
"+m_TreeLeft.GetHTML()+"
Selected Information
"+m_TreeRight.GetHTML()+"
 
"; sHTML+="
"; sHTML+="
"; return sHTML; } }