123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520 |
- /*
- IBM Confidential
- OCO Source Materials
- IBM Cognos Products: uipe
- (C) Copyright IBM Corp. 2014
- The source code for this program is not published or otherwise divested of its trade secrets, irrespective of what has been deposited with the U.S. Copyright Office.
- */
-
- var U_Utils = {};
- U_Utils.F_CreateQueriesComboBox = function( v_nComboIn, v_nQuerySet, v_bShowEmpty )
- {
- var v_nComboBox = v_nComboIn ? v_nComboIn : G_ResManager.F_GetResource( 'EmptyCombo' );
- this.F_AddQueriesToListView(v_nComboBox.selectSingleNode("listView"), v_nQuerySet, v_bShowEmpty != false);
- return v_nComboBox;
- };
- U_Utils.F_CreateQueryItemsComboBox = function( v_nComboIn, v_nQuery, v_bShowEmpty )
- {
- var v_nComboBox = v_nComboIn ? v_nComboIn : G_ResManager.F_GetResource( 'EmptyCombo' );
- this.F_AddDataItemsToListView(v_nComboBox.selectSingleNode("listView"), v_nQuery, v_bShowEmpty != false);
- return v_nComboBox;
- };
- U_Utils.F_AddQueriesToListView = function( v_nListView, v_nQuerySetIn, v_bShowEmpty, v_bAddDefault )
- {
- var v_doc = v_nListView.ownerDocument;
- var v_nListItems = v_nListView.selectSingleNode( "listItems" );
- if ( v_bAddDefault )
- {
- this.F_AddDefaultListItem( v_nListView );
- }
- var v_nQuerySet = v_nQuerySetIn ? v_nQuerySetIn : G_ReportSpec.F_GetReportNode().selectSingleNode( "queries" );
- if ( v_nQuerySet )
- {
- var nl = v_nQuerySet.selectNodes( "query/@name" );
- var v_iLength = nl.length;
- if (v_iLength > 0)
- {
- for ( var i = 0; i < v_iLength; ++i )
- {
- var v_nListItem = v_nListItems.appendChild( v_doc.createElement( "listItem" ) );
- var v_sName = nl.item( i ).value;
- v_nListItem.setAttribute( "label", v_sName );
- v_nListItem.setAttribute( "value", v_sName );
- v_nListItem.setAttribute( "smallIcon", "query.gif" );
- }
- return;
- }
- }
- if ( v_bShowEmpty && !v_bAddDefault )
- {
- var v_nListItem = v_nListItems.appendChild( v_doc.createElement( "listItem" ) );
- v_nListItem.setAttribute( "value", "" );
- v_nListItem.setAttribute( "idsLabel", "IDS_EMPTY_LISTVIEW" );
- }
- };
- U_Utils.F_AddDataItemsToListView = function( v_nListView, v_nQuery, v_bShowEmpty, v_bAddDefault, v_fnGetValue, v_oExcludeItems )
- {
- var v_doc = v_nListView.ownerDocument;
- var v_nListItems = v_nListView.selectSingleNode( "listItems" );
- if ( v_bAddDefault )
- {
- this.F_AddDefaultListItem( v_nListView );
- }
- if ( v_nQuery )
- {
- var nl = v_nQuery.selectNodes( "selection/*" );
- var v_iLength = nl.length;
- if ( v_iLength > 0 )
- {
- for ( var i = 0; i < v_iLength; i++ )
- {
- var v_nDataItem = nl.item( i );
- var v_sName = v_nDataItem.getAttribute( "name" );
- if ( v_oExcludeItems && v_oExcludeItems[v_sName] )
- {
- // exlude the item, continue
- continue;
- }
- var v_nListItem = v_nListItems.appendChild( v_doc.createElement( "listItem" ) );
- if ( v_nDataItem.getAttribute( "iid" ) )
- {
- v_nListItem.setAttribute( "roid", v_nDataItem.getAttribute( "iid" ) );
- }
- v_nListItem.setAttribute( "label", v_sName );
- if ( v_fnGetValue )
- {
- v_nListItem.setAttribute( "value", v_fnGetValue( v_nQuery, v_nDataItem ) );
- }
- else
- {
- v_nListItem.setAttribute( "value", v_sName );
- }
- v_nListItem.setAttribute( "smallIcon", U_DataItem.F_GetImage(v_nDataItem) );
- }
- return;
- }
- }
- if ( v_bShowEmpty && !v_bAddDefault )
- {
- var v_nListItem = v_nListItems.appendChild( v_doc.createElement( "listItem" ) );
- v_nListItem.setAttribute( "value", "" );
- v_nListItem.setAttribute( "idsLabel", "IDS_EMPTY_LISTVIEW" );
- }
- };
- /*
- * Set a percent attribute on a node.
- * @param n {Node}
- * @param v_sTxtID {String} id of text input which contains the value to be validated
- * @param v_sAttribute {String} Attribute name of to set on the node
- * @param v_iMax {Integer} Optional maximum value. (Defaults to 100)
- */
- U_Utils.F_CommitPercent = function( n, v_sTxtID, v_sAttribute, v_iMax )
- {
- v_iMax = v_iMax || 100;
- var v_sValue = document.getElementById( v_sTxtID ).value;
- var i = parseInt( v_sValue, 10 );
-
- if ( isNaN( i ) )
- {
- n.removeAttribute( v_sAttribute );
- }
- else if ( i > v_iMax )
- {
- if ( G_HAL.M_oLibraries["hal"]["enableAccessibility"] )
- {
- n.removeAttribute( v_sAttribute );
- }
- else
- {
- U_XML.F_SetAttribute( n, v_sAttribute, v_iMax.toString( 10 ) );
- }
- }
- else
- {
- U_XML.F_SetAttribute( n, v_sAttribute, i.toString( 10 ) );
- }
- };
- U_Utils.F_ShowLoadingMessage = function( el )
- {
- el.innerHTML = '<img src="' + G_HAL.F_GetImageURL('hal/images/tv_loading.gif') + '" class="clsImg16x16"/><span style="color:gray">' + G_ResManager.F_GetString( "IDS_HAL_TV_LOADING" ).F_HTMLEncode() + '</span>';
- };
- U_Utils.F_SetColorButtonColor = function( btn, v_sColor )
- {
- var div = btn.getElementsByTagName( "DIV" ).item( 0 );
- div.className = ( v_sColor == "transparent" ) ? "clsColorButtonDIV_transparent" : "clsColorButtonDIV_normal";
- div.style.backgroundColor = v_sColor ? v_sColor : "";
-
- if ( G_HAL.M_oLibraries["hal"]["enableAccessibility"] && v_sColor )
- {
- U_Accessibility.F_AddAriaHiddenSpan( btn, "aria-describedby", U_DOM.F_GetColorAriaLabel( v_sColor ) );
- }
- };
- U_Utils.F_SetFillButtonBackgroundImage = function( btn, v_sUrl )
- {
- var div = btn.getElementsByTagName( "DIV" ).item( 0 );
- div.className = "clsColorButtonDIV_normal";
- div.style.backgroundImage = v_sUrl ? ( "url(" + v_sUrl + ")" ) : "";
- };
- U_Utils.F_GetFillButtonDimension = function( btn )
- {
- var div = btn.getElementsByTagName( "DIV" ).item( 0 );
- div.className = "clsColorButtonDIV_normal";
- return new C_Dimension( div.offsetHeight, div.offsetWidth );
- };
- U_Utils.F_AddEmptyMessageIfRequired = function( v_nListView )
- {
- if ( !v_nListView.selectSingleNode( "listItems/listItem" ) )
- {
- var v_nListItem = G_ResManager.F_GetResource( 'EmptyWithMessage' ).selectSingleNode( "listItems/listItem" );
- var d = v_nListView.ownerDocument;
- v_nListView.selectSingleNode( "listItems" ).appendChild( U_XML.F_ImportNode( d, v_nListItem ) );
- return true;
- }
- return false;
- };
- U_Utils.F_AddDefaultListItem = function( v_nListView )
- {
- var v_nListItems = v_nListView.selectSingleNode( "listItems" );
- var v_nListItem = v_nListItems.insertBefore( v_nListView.ownerDocument.createElement( "listItem" ), v_nListItems.selectSingleNode( "listItem" ) );
- v_nListItem.setAttribute( "idsLabel", "IDS_PROPVAL_DEFAULT" );
- v_nListItem.setAttribute( "value", "" );
- };
- U_Utils.F_GetSourceTypeListView = function( n, v_bAddNone )
- {
- var v_nListView = G_ResManager.F_GetResource( 'SourceType' );
- return this.F_PopulateSourceTypeListView( v_nListView, n, v_bAddNone );
- };
- U_Utils.F_PopulateSourceTypeListView = function( v_nListView, n, v_bAddNone )
- {
- if ( !v_bAddNone )
- {
- C_ListView.F_RemoveListItemWithValue( v_nListView, "" );
- }
- var v_nQuery = U_LayoutSpec.F_GetQueryContext( n );
- if ( !v_nQuery )
- {
- C_ListView.F_RemoveListItemWithValue( v_nListView, "dataItemValue" );
- C_ListView.F_RemoveListItemWithValue( v_nListView, "dataItemLabel" );
- C_ListView.F_RemoveListItemWithValue( v_nListView, "memberCaption" );
- C_ListView.F_RemoveListItemWithValue( v_nListView, "cellValue" );
- }
- else if ( U_XML.F_GetAncestorEx( n, ["crosstabFactCell", "crosstabIntersection", "factCell"] ) )
- {
- C_ListView.F_RemoveListItemWithValue( v_nListView, "memberCaption" );
- if ( U_Chart.F_IsChartNode(n) )
- {
- C_ListView.F_RemoveListItemWithValue( v_nListView, "cellValue" );
- }
- }
- else if ( U_XML.F_GetAncestorEx( n, ["crosstabNodeMember", "crosstabSpacer", "appCrosstabSummary", "chartNodeMember"] ) )
- {
- C_ListView.F_RemoveListItemWithValue( v_nListView, "cellValue" );
- }
- else if (n.nodeName == "marker" || n.nodeName == "baseline" || n.nodeName == "pointChartBaseline" || n.nodeName == "pointChartMarker" ||
- n.nodeName == "threeDComboBaseline" || n.nodeName == "threeDScatterBaseline")
- {
- C_ListView.F_RemoveListItemWithValue( v_nListView, "dataItemLabel" );
- C_ListView.F_RemoveListItemWithValue( v_nListView, "memberCaption" );
- C_ListView.F_RemoveListItemWithValue( v_nListView, "cellValue" );
- }
- else
- {
- C_ListView.F_RemoveListItemWithValue( v_nListView, "memberCaption" );
- C_ListView.F_RemoveListItemWithValue( v_nListView, "cellValue" );
- }
-
- var v_nParentStaticAppControl = U_ReportApp.F_GetStaticAppControl( n );
- if (!v_nParentStaticAppControl)
- {
- C_ListView.F_RemoveListItemWithValue( v_nListView, "appDataItemValue" );
- }
-
- return v_nListView;
- };
- U_Utils.F_ParseCSV = function( v_sCSV )
- {
- var v_aRows = [];
- var v_aCSVRows = v_sCSV.split( /(\r\n)|\n/g );
- for ( var v_iRow = 0; v_iRow < v_aCSVRows.length; v_iRow++ )
- {
- var v_aColumns = [];
- var v_aCSVColumns = v_aCSVRows[v_iRow].split( "," );
- for ( var v_iCol = 0; v_iCol < v_aCSVColumns.length; v_iCol++ )
- {
- v_aColumns.push( v_aCSVColumns[v_iCol].replace( /""/g, '"' ).replace( /(^")|("$)/g, "" ) );
- }
- v_aRows.push( v_aColumns );
- }
- return v_aRows;
- };
- U_Utils.F_PopulateDimensionStructureListView = function(v_nListItems, v_nMetadata, v_sPatternStructure, v_sPatternItem, v_iIndent)
- {
- var nl = v_nMetadata.selectNodes(v_sPatternStructure);
-
- for (var i = 0; i < nl.length; ++i)
- {
- var n = nl.item(i);
-
- var v_bContainer = false;
-
- if (!n.selectSingleNode("self::" + v_sPatternItem))
- {
- if (n.selectSingleNode(".//" + v_sPatternItem))
- {
- v_bContainer = true;
- }
- else
- {
- // if object is container and does not contain items we are looking for then skip it.
- continue;
- }
- }
-
- var v_nListItem = U_XML.F_AppendChild(v_nListItems, "listItem");
- var v_sLabel = n.getAttribute("name");
- v_nListItem.setAttribute("label", v_sLabel);
- v_nListItem.setAttribute("tooltip", v_sLabel);
- v_nListItem.setAttribute("value", n.getAttribute("_ref"));
-
- switch (n.nodeName)
- {
- case "dimension":
- v_nListItem.setAttribute("smallIcon", n.getAttribute("type") == "measure" ? "dimension_measure.gif" : "dimension.gif");
- break;
-
- case "folder":
- case "hierarchyFolder":
- v_nListItem.setAttribute("smallIcon", n.getAttribute("isNamespace") == "1" ? "namespace.gif" : "hal/images/tv_folder.gif");
- break;
-
- case "hierarchy":
- v_nListItem.setAttribute("smallIcon", "hierarchy.gif");
- break;
- }
-
- if (v_iIndent)
- {
- v_nListItem.setAttribute("indentLevel", v_iIndent);
- }
- if (v_bContainer)
- {
- v_nListItem.setAttribute( "selectable", "false" );
- this.F_PopulateDimensionStructureListView(v_nListItems, n, v_sPatternStructure, v_sPatternItem, v_iIndent ? v_iIndent + 1 : 1);
- }
- }
- };
- U_Utils.F_PopulateDimensionStructureListView = function(v_nListItems, v_nMetadata, v_sPattern, v_sSelectableNodeName, v_iIndent)
- {
- var nl = v_nMetadata.selectNodes(v_sPattern);
-
- for (var i = 0; i < nl.length; ++i)
- {
- var n = nl.item(i);
-
- var v_nListItem = U_XML.F_AppendChild(v_nListItems, "listItem");
- var v_sLabel = n.getAttribute("name");
- v_nListItem.setAttribute("label", v_sLabel);
- v_nListItem.setAttribute("tooltip", v_sLabel);
- v_nListItem.setAttribute("value", n.getAttribute("_ref"));
-
- switch (n.nodeName)
- {
- case "dimension":
- v_nListItem.setAttribute("smallIcon", n.getAttribute("type") == "measure" ? "dimension_measure.gif" : "dimension.gif");
- break;
-
- case "folder":
- case "hierarchyFolder":
- v_nListItem.setAttribute("smallIcon", n.getAttribute("isNamespace") == "1" ? "namespace.gif" : "hal/images/tv_folder.gif");
- break;
-
- case "hierarchy":
- v_nListItem.setAttribute("smallIcon", "hierarchy.gif");
- break;
- }
-
- if (v_iIndent)
- {
- v_nListItem.setAttribute("indentLevel", v_iIndent);
- }
- if (n.nodeName != v_sSelectableNodeName)
- {
- v_nListItem.setAttribute( "selectable", "false" );
- this.F_PopulateDimensionStructureListView(v_nListItems, n, v_sPattern, v_sSelectableNodeName, v_iIndent ? v_iIndent + 1 : 1);
- }
- }
- };
- U_Utils.F_IsJavascriptURL = function( s )
- {
- return Boolean( s.match( /^\s*javascript\s*:/i ) );
- };
- U_Utils.F_ReplaceStringResources = function(v_nChart)
- {
- var v_nlStringRes = v_nChart.selectNodes(".//stringRes");
- var v_iLength = v_nlStringRes.length;
- for (var i = 0; i < v_iLength; i++)
- {
- var n = v_nlStringRes.item(i);
- var v_sID = n.getAttribute("id");
- var v_nParent = n.parentNode;
- v_nParent.removeChild(n);
- var v_nlParams = n.selectNodes("param");
- switch (v_nlParams.length)
- {
- case 0:
- v_nParent.text = G_ResManager.F_GetString(v_sID);
- break;
- case 1:
- v_nParent.text = G_ResManager.F_GetString(v_sID, v_nlParams.item(0).text);
- break;
- case 2:
- v_nParent.text = G_ResManager.F_GetString(v_sID, v_nlParams.item(0).text, v_nlParams.item(1).text);
- break;
- }
- }
- };
- U_Utils.F_GetPaletteGradientAriaLabel = function( v_nListItem )
- {
- var v_sFromColorLabel = U_DOM.F_GetColorAriaLabel( v_nListItem.getAttribute("FROMCOLOR") );
- var v_sToColorLabel = U_DOM.F_GetColorAriaLabel( v_nListItem.getAttribute("TOCOLOR") );
- var v_sDirection = v_nListItem.getAttribute("direction");
- var v_sDirectionLabel = G_ResManager.F_GetOptionalString( "IDS_PROPVAL_" + v_sDirection ) || "";
- return G_ResManager.F_GetString("IDS_AC_PALETTE_GRADIENT", v_sFromColorLabel, v_sToColorLabel, v_sDirectionLabel );
- };
- U_Utils.F_GetPalettePatternAriaLabel = function( v_nListItem )
- {
- var v_sForeColorLabel = U_DOM.F_GetColorAriaLabel( v_nListItem.getAttribute("FORECOLOR") );
- var v_sBackColorLabel = U_DOM.F_GetColorAriaLabel( v_nListItem.getAttribute("BACKCOLOR") );
- var v_sPatternType = v_nListItem.getAttribute("patternType");
- var v_sPatternTypeLabel = G_ResManager.F_GetOptionalString( "IDS_AC_PATTERN_" + v_sPatternType ) || "";
- return G_ResManager.F_GetString("IDS_AC_PALETTE_PATTERN", v_sForeColorLabel, v_sBackColorLabel, v_sPatternTypeLabel );
- };
- U_Utils.F_GetPalettePatternTypeString = function( v_nListItem )
- {
- var v_idsPattern;
- var v_sPatternType = v_nListItem.getAttribute( "patternType" );
- if ( v_sPatternType )
- {
- v_idsPattern = "IDS_AC_PATTERN_" + v_sPatternType;
- }
- else
- {
- v_idsPattern = v_nListItem.getAttribute( "idsAriaLabel" ) || v_nListItem.getAttribute( "idsTooltip" );
- }
-
- return v_idsPattern ? G_ResManager.F_GetOptionalString( v_idsPattern ) : "";
- };
- U_Utils.F_GetColorByValueAriaLabel = function( v_sColor, v_sBoundary )
- {
- return G_ResManager.F_GetString("IDS_AC_COLOR_BY_VALUE", U_DOM.F_GetColorAriaLabel( v_sColor ), v_sBoundary );
- };
- U_Utils.F_GetGradientColorAriaLabel = function( v_sColor, v_sPosition )
- {
- return G_ResManager.F_GetString("IDS_AC_GRADIENT_COLOR", U_DOM.F_GetColorAriaLabel( v_sColor ), v_sPosition );
- };
- U_Utils.F_GetElementsByROID = function( v_aElements, el, v_oROIDMap, v_bGetAll, v_bDeepSearch )
- {
- switch ( el.nodeName )
- {
- case "HTML":
- case "#document":
- case "#text":
- case "#comment":
- return;
- }
- if ( el.getAttribute( "roid" ) )
- {
- var v_iSelCount = v_oROIDMap[el.getAttribute( "roid" )];
- if (v_iSelCount)
- {
- if ( !v_bGetAll )
- {
- v_oROIDMap[el.getAttribute( "roid" )] = v_iSelCount - 1;
- }
- v_aElements.push( el );
-
- if ( !v_bDeepSearch )
- {
- return;
- }
- }
- }
- for ( var v_elChild = el.firstChild; v_elChild; v_elChild = v_elChild.nextSibling )
- {
- this.F_GetElementsByROID( v_aElements, v_elChild, v_oROIDMap, v_bGetAll, v_bDeepSearch );
- }
- };
- U_Utils.F_GetAllElementsForNode = function( n, container )
- {
- var a = [];
- var v_oROIDMap = {};
- v_oROIDMap[n.getAttribute( "iid" )] = 1;
- var v_bGetAll = true;
- U_Utils.F_GetElementsByROID( a, container, v_oROIDMap, v_bGetAll );
- return a;
- };
- U_Utils.F_GetCopyLabel = function(v_nFrom, v_nTo) {
- if (v_nFrom.getAttribute("smallIcon") != "") {
- U_XML.F_CopyAttribute(v_nTo, v_nFrom, "smallIcon");
- }
- if (v_nFrom.getAttribute("idsLabel") != ""
- && U_XML.F_CopyAttribute(v_nTo, v_nFrom, "idsLabel")) {
- return;
- }
- if (v_nFrom.getAttribute("label") != ""
- && U_XML.F_CopyAttribute(v_nTo, v_nFrom, "label")) {
- return;
- }
- if( v_nFrom.getAttribute("id") )
- {
- v_nTo.setAttribute("label", v_nFrom.getAttribute("id"));
- }
- else
- {
- v_nTo.setAttribute("label", v_nFrom.getAttribute("name"));
- }
-
- };
|