123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770 |
- var MINI_QUERY_SUCCESS = 1;
- var MINI_QUERY_INVALID_MINI_QUERY = 0;
- var MINI_QUERY_INVALID_INDEX = -1;
- var MINI_QUERY_NO_MINI_QUERY = -2;
- var MINI_QUERY_NO_COLUMN_FOUND = -3;
- var MINI_QUERY_ATTRIBUTE_NOT_FOUND = -4;
- var MINI_QUERY_NO_ELEMENT_FOUND = -5;
- var MINI_QUERY_SET_FAILED = -99;
- var MINI_QUERY_MAX_ROWS_DEFAULT = 0;
- var MINI_QUERY_GROUP_PIVOT = "pivot";
- var MINI_QUERY_GROUP_SECTION = "header";
- var MINI_QUERY_GROUP_LIST = "list";
- var MINI_QUERY_EMPTY_STRING_VALUE = "";
- var MINI_QUERY_NUMBER_STR = "number";
- var MINI_QUERY_RANGE_STR = "range";
- var MINI_QUERY_GROUP_STR = "group";
- var MINI_QUERY_STRING_STR = "string";
- var MINI_QUERY_DATE_STR = "date";
- var MINI_QUERY_TIME_STR = "time";
- var MINI_QUERY_DATETIME_STR = "datetime";
- var MINI_QUERY_INTERVAL_STR = "interval";
- var MINI_QUERY_MODEL_STR = "model";
- var MINI_QUERY_UNKNOWN_STR = "unknown";
- var MINI_QUERY_NONE_STR = "none";
- function CMiniQueryManager()
- {
- this.oMiniQueryDocument = null;
- this.m_sPreviousDataMode = null;
- this.MINI_QUERY_NONE_STR = MINI_QUERY_NONE_STR;
- this.MINI_QUERY_NO_COLUMN_FOUND = MINI_QUERY_NO_COLUMN_FOUND;
- };
- CMiniQueryManager.prototype = new CDictionary();
- CMiniQueryManager.prototype.init = function ()
- {
- this.resetState();
- };
- CMiniQueryManager.prototype.resetState = function ()
- {
-
- this.removeAll();
- this.add("decimalSeparatorDefault", ".");
- this.add("listSeparatorDefault", ",");
-
-
- var oCRQReport = this.getCRQReportNode();
- if (typeof oCRQReport == "object")
- {
- this.m_sPreviousDataMode = oCRQReport.getAttribute("limitData");
- }
- };
- CMiniQueryManager.prototype.setMiniQuery = function (sMiniQuery)
- {
- if (sMiniQuery === null || typeof sMiniQuery != "string" || sMiniQuery === MINI_QUERY_EMPTY_STRING_VALUE)
- {
- return MINI_QUERY_INVALID_MINI_QUERY;
- }
- var oXMLDocument = XMLBuilderLoadXMLFromString(sMiniQuery);
- if (oXMLDocument === null)
- {
- return MINI_QUERY_SET_FAILED;
- }
- this.oMiniQueryDocument = oXMLDocument;
- this.resetState();
- return MINI_QUERY_SUCCESS;
- };
- CMiniQueryManager.prototype.getElementById = function (sId)
- {
- if (typeof sId != "string" || sId === MINI_QUERY_EMPTY_STRING_VALUE)
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- if (this.oMiniQueryDocument === null)
- {
- return MINI_QUERY_NO_MINI_QUERY;
- }
- var aElements = XMLHelper_FindChildrenByAttribute(this.oMiniQueryDocument, "id", sId, true, true);
- if (aElements.length > 0)
- {
- return aElements[0];
- }
- else
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- };
- CMiniQueryManager.prototype.getElementsByAttribute = function (sName, sValue)
- {
- if (typeof sName != "string" || sName === MINI_QUERY_EMPTY_STRING_VALUE)
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- if (this.oMiniQueryDocument === null)
- {
- return MINI_QUERY_NO_MINI_QUERY;
- }
- var aElements = XMLHelper_FindChildrenByAttribute(this.oMiniQueryDocument, sName, sValue, true, false);
- if (aElements.length > 0)
- {
- return aElements;
- }
- else
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- };
- CMiniQueryManager.prototype.getElementsByTagName = function (sName, oNode)
- {
- if (typeof sName != "string" || sName === MINI_QUERY_EMPTY_STRING_VALUE || (typeof oNode != "undefined" && (oNode === null || typeof oNode != "object" || !this.isElementInMiniQuery(oNode))))
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- var oNodeToFind;
- if (typeof oNode != "undefined")
- {
- oNodeToFind = oNode;
- }
- else if (this.oMiniQueryDocument !== null)
- {
- oNodeToFind = this.oMiniQueryDocument;
- }
- else
- {
- return MINI_QUERY_NO_MINI_QUERY;
- }
- var aElements = XMLHelper_FindChildrenByTagName(oNodeToFind, sName, true);
- if (aElements.length > 0)
- {
- return aElements;
- }
- else
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- };
- CMiniQueryManager.prototype.getCRQReportNode = function ()
- {
- if (this.oMiniQueryDocument === null)
- {
- return MINI_QUERY_NO_MINI_QUERY;
- }
- return this.oMiniQueryDocument.documentElement;
- };
- CMiniQueryManager.prototype.getAllColumns = function ()
- {
- var aAllColumns = this.get("allColumnsArray");
- if (aAllColumns === null)
- {
- aAllColumns = this.getElementsByTagName("Column");
- this.add("allColumnsArray", aAllColumns);
- }
- try
- {
- if (aAllColumns instanceof Array)
- {
- return aAllColumns;
- }
- }
- catch (e)
- {
- }
- return ([]);
- };
- CMiniQueryManager.prototype.getMaxRows = function ()
- {
- var oCRQReport = this.getCRQReportNode();
- if (typeof oCRQReport == "object")
- {
- var sMaxRows = oCRQReport.getAttribute("maxRows");
- if (sMaxRows !== null && isNaN(parseInt(sMaxRows, 10)) === false)
- {
- var iMaxRows = parseInt(sMaxRows, 10);
- if (!isNaN(iMaxRows))
- {
- return iMaxRows;
- }
- }
- }
- return MINI_QUERY_MAX_ROWS_DEFAULT;
- };
- CMiniQueryManager.prototype.getPDFOptions = function ()
- {
- return this.getElement("PDFOptions");
- };
- CMiniQueryManager.prototype.getChart = function ()
- {
- return this.getElement("chart");
- };
- CMiniQueryManager.prototype.getDoc = function ()
- {
- return (this.oMiniQueryDocument);
- };
- CMiniQueryManager.prototype.getElement = function (sElementName)
- {
- var aElements = this.getElements(sElementName);
- if (aElements instanceof Array)
- {
- return aElements[0];
- }
- return MINI_QUERY_NO_ELEMENT_FOUND;
- };
- CMiniQueryManager.prototype.getElements = function (sElementName)
- {
- var aElements = this.getElementsByTagName(sElementName);
- if (aElements instanceof Array && aElements.length > 0)
- {
- return aElements;
- }
- return MINI_QUERY_NO_ELEMENT_FOUND;
- };
- CMiniQueryManager.prototype.hasPivottedColumns = function ()
- {
- var bHasPivotCols = this.get("HasPivotCols");
- if (bHasPivotCols !== null)
- {
- return bHasPivotCols;
- }
- var aAllCols = this.getAllColumns();
- for (var idxCols = 0; idxCols < aAllCols.length; idxCols++)
- {
- var bIsPivoted = this.isPivoted(aAllCols[idxCols]);
- if (bIsPivoted === true)
- {
- this.add("HasPivotCols", true);
- return true;
- }
- }
- this.add("HasPivotCols", false);
- return false;
- };
- CMiniQueryManager.prototype.hasGroupedColumns = function ()
- {
- var bHasGroupedCols = this.get("HasGroupedCols");
- if (bHasGroupedCols !== null)
- {
- return bHasGroupedCols;
- }
- var aAllCols = this.getAllColumns();
- for (var idxCols = 0; idxCols < aAllCols.length; idxCols++)
- {
- var bIsGrouped = this.isGrouped(aAllCols[idxCols]);
- if (bIsGrouped === true)
- {
- this.add("HasGroupedCols", true);
- return true;
- }
- }
- this.add("HasGroupedCols", false);
- return false;
- };
- CMiniQueryManager.prototype.hasHeaderColumns = function ()
- {
- var bHasHeaderCols = this.get("HasHeaderCols");
- if (bHasHeaderCols !== null)
- {
- return bHasHeaderCols;
- }
- var aAllCols = this.getAllColumns();
- for (var idxCols = 0; idxCols < aAllCols.length; idxCols++)
- {
- var bIsGrouped = this.isGrouped(aAllCols[idxCols]);
- var sGroupType = this.getGroupType(aAllCols[idxCols]);
- if (bIsGrouped === true && sGroupType === "header")
- {
- this.add("HasHeaderCols", true);
- return true;
- }
- }
- this.add("HasHeaderCols", false);
- return false;
- };
- CMiniQueryManager.prototype.hasRowNumColumn = function (oParameter)
- {
- var bHasRowNumCol = this.get("HasRowNumCol");
- if (bHasRowNumCol !== null)
- {
- return bHasRowNumCol;
- }
- var aAllCols = this.getAllColumns();
- for (var idxCols = 0; idxCols < aAllCols.length; idxCols++)
- {
- var bIsRowNumCol = this.isReportExpression(aAllCols[idxCols]);
- if (bIsRowNumCol === true)
- {
- this.add("HasRowNumCol", true);
- return true;
- }
- }
- this.add("HasRowNumCol", false);
- return false;
- };
- CMiniQueryManager.prototype.getColumnById = function (sId)
- {
- if (typeof sId != "string")
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- var oDictColId = this.get("ColumnID_" + sId);
- if (oDictColId !== null)
- {
- return oDictColId;
- }
- var aElements = this.getElementsByAttribute("id", sId);
- if (aElements.length === 0)
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- else
- {
- if (aElements.length === 1)
- {
- if (XMLHelper_GetLocalName(aElements[0]) == "Column")
- {
- this.add("ColumnID_" + sId, aElements[0]);
- return aElements[0];
- }
- else
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- }
- else
- {
- for (var idxElts = 0; idxElts < aElements.length; idxElts++)
- {
- if (XMLHelper_GetLocalName(aElements[idxElts]) == "Column")
- {
- this.add("ColumnID_" + sId, aElements[idxElts]);
- return aElements[idxElts];
- }
- }
- }
- }
- return MINI_QUERY_NO_COLUMN_FOUND;
- };
- CMiniQueryManager.prototype.getDecimalSeparator = function ()
- {
- var oCRQReport = this.getCRQReportNode();
- var sDecimalSeparator = this.get("decimalSeparator");
- if (sDecimalSeparator === null && typeof oCRQReport == "object")
- {
- sDecimalSeparator = oCRQReport.getAttribute("decimalSeparator");
- }
- if (sDecimalSeparator === null || sDecimalSeparator === MINI_QUERY_EMPTY_STRING_VALUE)
- {
- sDecimalSeparator = this.get("decimalSeparatorDefault");
- }
- return sDecimalSeparator;
- };
- CMiniQueryManager.prototype.getListSeparator = function ()
- {
- var oCRQReport = this.getCRQReportNode();
- var sListSeparator = this.get("listSeparator");
- if (sListSeparator === null && typeof oCRQReport == "object")
- {
- sListSeparator = oCRQReport.getAttribute("listSeparator");
- }
- if (sListSeparator === null || sListSeparator === MINI_QUERY_EMPTY_STRING_VALUE)
- {
- sListSeparator = this.get("listSeparatorDefault");
- }
- return sListSeparator;
- };
- CMiniQueryManager.prototype.getPageBreak = function ()
- {
- var oCRQReport = this.getCRQReportNode();
- if (typeof oCRQReport != "object")
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- var sPageBreak = oCRQReport.getAttribute("pageBreak");
- if (sPageBreak === null)
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- return sPageBreak;
- };
- CMiniQueryManager.prototype.isElementInMiniQuery = function (oColumn)
- {
- if (this.oMiniQueryDocument === null || oColumn === null || (typeof oColumn != "object" && typeof oColumn != "string"))
- {
- return false;
- }
- var sMQXML = XMLBuilderSerializeNode(this.oMiniQueryDocument);
- var sColumn;
- if (typeof oColumn == "string")
- {
- sColumn = oColumn;
- }
- else
- {
- sColumn = XMLBuilderSerializeNode(oColumn);
- }
- if (sMQXML !== MINI_QUERY_EMPTY_STRING_VALUE && sColumn !== MINI_QUERY_EMPTY_STRING_VALUE)
- {
- if (sMQXML.indexOf(sColumn) >= 0)
- {
- return true;
- }
- }
- return false;
- };
- CMiniQueryManager.prototype.getColFromExpression = function (sExpression)
- {
- if (typeof sExpression != "string")
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- var oDictExpr = this.get("Expression_" + sExpression);
- if (oDictExpr !== null)
- {
- return oDictExpr;
- }
- var aElements = this.getElementsByAttribute("expression", sExpression);
- if (aElements === MINI_QUERY_NO_COLUMN_FOUND || aElements === MINI_QUERY_NO_MINI_QUERY)
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- else if (aElements.length > 0)
- {
- this.add("Expression_" + sExpression, aElements[0]);
- return aElements[0];
- }
- else
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- };
- CMiniQueryManager.prototype.getColumnFromFilter = function(oFilter)
- {
- if (typeof oFilter == "string")
- {
- var aElements = this.getElementsByAttribute("id", oFilter);
- for (var idxElement = 0; idxElement < aElements.length; idxElement++)
- {
- if (aElements[idxElement].nodeName.match(/^filter$/i))
- {
- return this.getColumnFromFilter(aElements[idxElement]);
- }
- }
-
-
- var aElements = this.getElementsByAttribute("columnId", oFilter);
- for (var idxElement = 0; idxElement < aElements.length; idxElement++)
- {
- if (aElements[idxElement].nodeName.match(/^filter$/i))
- {
- return this.getColumnFromFilter(aElements[idxElement]);
- }
- }
-
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- else if (oFilter)
- {
- var sColumnId = oFilter.getAttribute("columnId");
- if (sColumnId)
- {
- return (this.getColumnById(sColumnId));
- }
- var oParentNode = oFilter.parentNode;
- while (oParentNode)
- {
- if (oParentNode.nodeName.match(/^column$/i))
- {
- return oParentNode;
- }
- oParentNode = oParentNode.parentNode;
- }
- }
- return MINI_QUERY_NO_COLUMN_FOUND;
- };
- CMiniQueryManager.prototype.getColumnFromIndex = function (iIndex)
- {
- if (typeof iIndex == "number")
- {
- var aColumns = this.getAllColumns();
- if (iIndex >= 0 && aColumns.length > iIndex)
- {
- return aColumns[iIndex];
- }
- }
- return MINI_QUERY_NO_COLUMN_FOUND;
- };
- CMiniQueryManager.prototype.getColumnFromXML = function (sXML)
- {
- if (typeof sXML == "string" && sXML.match(/^\s*<.*\/.*>\s*$/))
- {
- var aColumns = this.getAllColumns();
-
- var oColumn = XMLBuilderLoadXMLFromString(sXML);
- var sColumn = XMLBuilderSerializeNode(oColumn);
- if (sColumn !== null && typeof sColumn == "string" && sColumn !== MINI_QUERY_EMPTY_STRING_VALUE && this.isElementInMiniQuery(sColumn) === true)
- {
- for (var idxCols = 0; idxCols < aColumns.length; idxCols++)
- {
- oColumn = aColumns[idxCols];
- var sColumnInMQ = XMLBuilderSerializeNode(aColumns[idxCols]);
- if (sColumnInMQ !== MINI_QUERY_EMPTY_STRING_VALUE)
- {
- if (sColumnInMQ === sColumn)
- {
- return oColumn;
- }
- }
- }
- }
- }
- return MINI_QUERY_NO_COLUMN_FOUND;
- };
- CMiniQueryManager.prototype.getColumnFromParameter = function (oParameter)
- {
- var oColumn = null;
- if (typeof oParameter == "string")
- {
- oColumn = this.getColumnById(oParameter);
- if (oColumn === MINI_QUERY_NO_COLUMN_FOUND)
- {
- oColumn = this.getColFromExpression(oParameter);
- if (oColumn === MINI_QUERY_NO_COLUMN_FOUND)
- {
- oColumn = this.getColumnFromXML(oParameter);
- if (oColumn === MINI_QUERY_NO_COLUMN_FOUND)
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- }
- }
- }
- else if (typeof oParameter == "object")
- {
- if (this.isElementInMiniQuery(oParameter) === false)
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- oColumn = oParameter;
- }
- else if (typeof oParameter == "number")
- {
- var aAllCols = this.getAllColumns();
- try
- {
- if (oParameter >= 0 && aAllCols.length > 0 && oParameter < aAllCols.length)
- {
- return aAllCols[oParameter];
- }
- }
- catch (e)
- {
- }
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- else
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- return oColumn;
- };
- CMiniQueryManager.prototype.getDataType = function (oParameter)
- {
- return this.getAttributeOnColumn(oParameter, "type", "string");
- };
- CMiniQueryManager.prototype.getAttributeFromMetadataNode = function (oNode, sAttributeName, sDataType)
- {
- var attr = null;
- if (oNode && typeof oNode[sAttributeName] != "undefined")
- {
-
- attr = oNode[sAttributeName];
- }
- else
- {
- switch(sAttributeName)
- {
- case "type":
- attr = oNode["datatype"];
- break;
- }
- }
- return (
- attr === null || typeof attr == "undefined" ?
- MINI_QUERY_ATTRIBUTE_NOT_FOUND :
- this.formatAttribute(attr, sDataType)
- );
- };
- CMiniQueryManager.prototype.formatAttribute = function(sAttribute, sDataType)
- {
- var retval = sAttribute;
- if (sDataType === "integer")
- {
- var iNumber = parseInt(sAttribute, 10);
- if (!isNaN(iNumber))
- {
- return iNumber;
- }
- }
- if (sDataType === "boolean")
- {
- if (sAttribute.toLowerCase() === "true")
- {
- return true;
- }
- return false;
- }
- return sAttribute;
- };
- CMiniQueryManager.prototype.getAttributeOnColumn = function (oParameter, sAttributeName, sDataType)
- {
- var oColumn = this.getColumnFromParameter(oParameter);
- if (oColumn === MINI_QUERY_NO_COLUMN_FOUND)
- {
- if (oParameter && oParameter.bFromMetadata)
- {
- return this.getAttributeFromMetadataNode(oParameter, sAttributeName, sDataType);
- }
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- var sAttribute = oColumn.getAttribute(sAttributeName);
- if (sAttribute !== null && sAttribute !== MINI_QUERY_EMPTY_STRING_VALUE)
- {
- return this.formatAttribute(sAttribute, sDataType);
- }
- return MINI_QUERY_ATTRIBUTE_NOT_FOUND;
- };
- CMiniQueryManager.prototype.isColumnOfDataType = function (oParameter, sDataType, bCheckForMatch, sDataTypeConstant)
- {
- var sAttribute = this.getDataType(oParameter);
- if (sAttribute === MINI_QUERY_NO_COLUMN_FOUND || sAttribute === MINI_QUERY_ATTRIBUTE_NOT_FOUND)
- {
- return false;
- }
- if (sDataType !== null && sAttribute == sDataType)
- {
- return true;
- }
- else if (bCheckForMatch)
- {
- return isDataTypeMatch(sAttribute, sDataTypeConstant);
- }
- return false;
- };
- CMiniQueryManager.prototype.isReportExpression = function (oParameter)
- {
- return this.isColumnOfDataType(oParameter, "reportExpression", false, null);
- };
- CMiniQueryManager.prototype.isString = function (oParameter)
- {
- return this.isColumnOfDataType(oParameter, "string", true, DATA_TYPE_STRING);
- };
- CMiniQueryManager.prototype.isNumeric = function (oParameter)
- {
- return this.isColumnOfDataType(oParameter, "number", true, DATA_TYPE_NUMERIC);
- };
- CMiniQueryManager.prototype.isDate = function (oParameter)
- {
- return this.isColumnOfDataType(oParameter, "date", true, DATA_TYPE_DATE);
- };
- CMiniQueryManager.prototype.isTime = function (oParameter)
- {
- return this.isColumnOfDataType(oParameter, "time", true, DATA_TYPE_TIME);
- };
- CMiniQueryManager.prototype.isDateTime = function (oParameter)
- {
- return this.isColumnOfDataType(oParameter, "datetime", true, DATA_TYPE_DATETIME);
- };
- CMiniQueryManager.prototype.isInterval = function (oParameter)
- {
- return this.isColumnOfDataType(oParameter, "interval", true, DATA_TYPE_INTERVAL);
- };
- CMiniQueryManager.prototype.isBlob = function (oParameter)
- {
- return this.isColumnOfDataType(oParameter, null, true, DATA_TYPE_BLOB);
- };
- CMiniQueryManager.prototype.isAnyDateTime = function (oParameter)
- {
- var sDataType = this.getDataType(oParameter);
- if (sDataType === MINI_QUERY_NO_COLUMN_FOUND || sDataType === MINI_QUERY_ATTRIBUTE_NOT_FOUND)
- {
- return false;
- }
- var iDataType = parseInt(sDataType, 10);
-
- if (isNaN(iDataType) && sDataType != "date" && sDataType != "time" && sDataType != "datetime" && sDataType != "interval")
- {
- return false;
- }
- var iDeterminedDataType = determineDataType(iDataType);
- if (iDeterminedDataType >= DATA_TYPE_DATE && iDeterminedDataType <= DATA_TYPE_INTERVAL)
- {
- return true;
- }
- else
- {
- return false;
- }
- };
- CMiniQueryManager.prototype.isHierarchy = function (oParameter)
- {
- var oColumn = this.getColumnFromParameter(oParameter);
- if (oColumn !== MINI_QUERY_NO_COLUMN_FOUND)
- {
- var sHierarchy = oColumn.getAttribute("hierarchy");
- if (sHierarchy == "true")
- {
- return true;
- }
- }
- return false;
- };
- CMiniQueryManager.prototype.isLevel = function (oParameter)
- {
- var oColumn = this.getColumnFromParameter(oParameter);
- if (oColumn !== MINI_QUERY_NO_COLUMN_FOUND)
- {
- var sMetadataType = this.getMetadataType(oColumn);
- var sLevelNumber = this.getLevelNumber(oColumn);
- if (sMetadataType !== MINI_QUERY_ATTRIBUTE_NOT_FOUND && (sMetadataType == "level" || sMetadataType == "namedSet" || (sMetadataType === MINI_QUERY_EMPTY_STRING_VALUE && sLevelNumber !== MINI_QUERY_ATTRIBUTE_NOT_FOUND && sLevelNumber !== MINI_QUERY_EMPTY_STRING_VALUE)))
- {
- return true;
- }
- }
- return false;
- };
- CMiniQueryManager.prototype.isMember = function (oParameter)
- {
- var oColumn = this.getColumnFromParameter(oParameter);
- if (oColumn !== MINI_QUERY_NO_COLUMN_FOUND)
- {
- var sMetadataType = this.getMetadataType(oColumn);
- if (sMetadataType !== MINI_QUERY_ATTRIBUTE_NOT_FOUND && sMetadataType == "member")
- {
- return true;
- }
- }
- return false;
- };
- CMiniQueryManager.prototype.isMUN = function (oParameter)
- {
- var bHierarchy = this.isHierarchy(oParameter);
- var bLevel = this.isLevel(oParameter);
- var bMember = this.isMember(oParameter);
- if (bHierarchy === true || bLevel === true || bMember === true)
- {
- return true;
- }
- return false;
- };
- CMiniQueryManager.prototype.getColumnLabel = function (oParameter)
- {
- var oColumn = this.getColumnFromParameter(oParameter);
- if (oColumn === MINI_QUERY_NO_COLUMN_FOUND)
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- else
- {
- var sContentLocale = goApplicationManager.get("contentLocale");
- var sLabel = MINI_QUERY_EMPTY_STRING_VALUE;
- if (sContentLocale !== MINI_QUERY_EMPTY_STRING_VALUE && sContentLocale !== null && oColumn.hasChildNodes() === true)
- {
- for (var idxCol = 0; idxCol < oColumn.childNodes.length; idxCol++)
- {
- if (oColumn.childNodes[idxCol].nodeName == "ColumnTitle" && oColumn.childNodes[idxCol].getAttribute("locale") == sContentLocale)
- {
- sLabel = oColumn.childNodes[idxCol].getAttribute("text");
- break;
- }
- }
- }
- if (sLabel === MINI_QUERY_EMPTY_STRING_VALUE)
- {
- sLabel = oColumn.getAttribute("originalName");
- }
- return sLabel;
- }
- };
- CMiniQueryManager.prototype.getUsage = function (oParameter)
- {
- return this.getAttributeOnColumn(oParameter, "usage", "integer");
- };
- CMiniQueryManager.prototype.getHidden = function (oParameter)
- {
- var sHide = this.getAttributeOnColumn(oParameter, "hide", "string");
- if (sHide === "true")
- {
- sHide = "all";
- }
- else if (sHide === MINI_QUERY_ATTRIBUTE_NOT_FOUND)
- {
- sHide = MINI_QUERY_NONE_STR;
- }
- return sHide;
- };
- CMiniQueryManager.prototype.getCalcOp = function (oParameter)
- {
- return this.getAttributeOnColumn(oParameter, "calcOp", "string");
- };
- CMiniQueryManager.prototype.isCalculation = function (oParameter)
- {
- var sCalcOp = this.getCalcOp(oParameter);
- if (sCalcOp === MINI_QUERY_NO_COLUMN_FOUND || sCalcOp === MINI_QUERY_ATTRIBUTE_NOT_FOUND)
- {
- return false;
- }
- return true;
- };
- CMiniQueryManager.prototype.isCollapsed = function (oParameter)
- {
- var sCollapse = this.getCollapsed(oParameter);
- if (sCollapse !== MINI_QUERY_NO_COLUMN_FOUND && sCollapse !== MINI_QUERY_ATTRIBUTE_NOT_FOUND)
- {
- return true;
- }
- return false;
- };
- CMiniQueryManager.prototype.isMeasure = function (oParameter)
- {
- var iUsage = this.getUsage(oParameter);
- if (iUsage === USAGE_VALUE_MEASURE)
- {
- return true;
- }
- return false;
- };
- CMiniQueryManager.prototype.isFakeMeasure = function (oParameter)
- {
- var sFakeUsage = this.getAttributeOnColumn(oParameter, "oldUsage", "string");
- if (sFakeUsage === MINI_QUERY_ATTRIBUTE_NOT_FOUND || sFakeUsage === MINI_QUERY_NO_COLUMN_FOUND)
- {
- return false;
- }
- return true;
- };
- CMiniQueryManager.prototype.hasNumericDetailAggregate = function (oParameter)
- {
- var oColumn = this.getColumnFromParameter(oParameter);
- var bDetailAggNumeric = false;
- if (oColumn !== MINI_QUERY_NO_COLUMN_FOUND)
- {
-
-
- var iDataType = getDataType(oColumn);
- if (iDataType == DATA_TYPE_NUMERIC || this.isFakeMeasure(oColumn))
- {
- bDetailAggNumeric = true;
- }
-
- else if (iDataType == DATA_TYPE_STRING && this.isMeasure(oColumn))
- {
- var sRealDetailAggregate = this.getDetailAggregate(oColumn);
-
-
-
- if (! sRealDetailAggregate
- || sRealDetailAggregate == "none"
- || sRealDetailAggregate == "automatic"
- || sRealDetailAggregate == "calculated"
- )
- {
- sRealDetailAggregate = this.getRegularAggregate(oColumn);
- }
-
-
-
- if (sRealDetailAggregate == "maximum" || sRealDetailAggregate == "minimum")
- {
- bDetailAggNumeric = false;
- }
- else
- {
- bDetailAggNumeric = true;
- }
- }
-
- }
- return bDetailAggNumeric;
- };
- CMiniQueryManager.prototype.isPercentCalculation = function (oParameter)
- {
- var bRetval = false;
- switch( this.getCalcOp(oParameter) )
- {
- case "percent":
- case "percentDifference":
- case "percentTotal":
- case "percentile":
- bRetval = true;
- }
- return bRetval;
- };
- CMiniQueryManager.prototype.getExpression = function (oParameter)
- {
- var oColumn = this.getColumnFromParameter(oParameter);
- if (oColumn !== MINI_QUERY_NO_COLUMN_FOUND)
- {
- var oGroupExpression = this.getElementsByTagName("GroupExpression", oColumn);
- if (oGroupExpression !== MINI_QUERY_NO_COLUMN_FOUND && oGroupExpression instanceof Array && oGroupExpression.length > 0)
- {
- var sGeneratedExpression = oGroupExpression[0].getAttribute("generatedExpression");
- if (sGeneratedExpression !== MINI_QUERY_EMPTY_STRING_VALUE && sGeneratedExpression !== null)
- {
- return sGeneratedExpression;
- }
- }
- return this.getAttributeOnColumn(oParameter, "expression", "string");
- }
- return MINI_QUERY_NO_COLUMN_FOUND;
- };
- CMiniQueryManager.prototype.getCalculatedExpression = function (oParameter)
- {
- var oColumn = this.getColumnFromParameter(oParameter);
- if (oColumn !== MINI_QUERY_NO_COLUMN_FOUND)
- {
- var oCalculatedExpression = this.getElementsByTagName("CalculatedExpression", oColumn);
- if (oCalculatedExpression !== MINI_QUERY_NO_COLUMN_FOUND && oCalculatedExpression instanceof Array && oCalculatedExpression.length > 0)
- {
- var sGeneratedExpression = oCalculatedExpression[0].getAttribute("generatedExpression");
- if (sGeneratedExpression !== MINI_QUERY_EMPTY_STRING_VALUE && sGeneratedExpression !== null)
- {
- return sGeneratedExpression;
- }
- }
- return this.getAttributeOnColumn(oParameter, "calculatedExpression", "string");
- }
- return MINI_QUERY_NO_COLUMN_FOUND;
- };
- CMiniQueryManager.prototype.getDisplayType = function (oParameter)
- {
- var iDisplayType = this.getAttributeOnColumn(oParameter, "displayType", "integer");
- if (iDisplayType !== MINI_QUERY_NO_COLUMN_FOUND && iDisplayType !== MINI_QUERY_ATTRIBUTE_NOT_FOUND)
- {
-
- if (iDisplayType !== 4)
- {
- return iDisplayType;
- }
- else
- {
- return MINI_QUERY_ATTRIBUTE_NOT_FOUND;
- }
- }
- return iDisplayType;
- };
- CMiniQueryManager.prototype.isSummarised = function (oParameter)
- {
- var oColumn = this.getColumnFromParameter(oParameter);
- if (oColumn !== MINI_QUERY_NO_COLUMN_FOUND)
- {
- var sAgg = oColumn.getAttribute("agg");
- if (sAgg !== MINI_QUERY_EMPTY_STRING_VALUE & sAgg !== null)
- {
- return true;
- }
- }
- return false;
- };
- CMiniQueryManager.prototype.isGrouped = function (oParameter)
- {
- var oColumn = this.getColumnFromParameter(oParameter);
- if (oColumn !== MINI_QUERY_NO_COLUMN_FOUND)
- {
- var sIsGrouped = oColumn.getAttribute("group");
- if (sIsGrouped === "true")
- {
- return true;
- }
- }
- return false;
- };
- CMiniQueryManager.prototype.isPivoted = function (oParameter)
- {
- var oColumn = this.getColumnFromParameter(oParameter);
- if (oColumn !== MINI_QUERY_NO_COLUMN_FOUND)
- {
- var sPivot = oColumn.getAttribute("pivot");
- if (sPivot === "true")
- {
- return true;
- }
- }
- return false;
- };
- CMiniQueryManager.prototype.getGroupType = function (oParameter)
- {
- return this.getAttributeOnColumn(oParameter, "grouptype", "string");
- };
- CMiniQueryManager.prototype.getColumnRole = function (oParameter)
- {
- var bIsPivoted = this.isPivoted(oParameter);
- var bIsGrouped = this.isGrouped(oParameter);
- var sGroupType = this.getGroupType(oParameter);
- if (bIsPivoted === true)
- {
- return MINI_QUERY_GROUP_PIVOT;
- }
- else if (!bIsGrouped)
- {
- return MINI_QUERY_NONE_STR;
- }
- else if (sGroupType === "list")
- {
- return MINI_QUERY_GROUP_LIST;
- }
- else if (sGroupType === "header")
- {
- return MINI_QUERY_GROUP_SECTION;
- }
- return MINI_QUERY_NO_COLUMN_FOUND;
- };
- CMiniQueryManager.prototype.getFiltersForColumn = function (oParameter)
- {
- var aAllFiltersOnColumn = [];
- var oColumn = this.getColumnFromParameter(oParameter);
- if (oColumn === MINI_QUERY_NO_COLUMN_FOUND)
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- var sColId = oColumn.getAttribute("id");
- var aFilters = this.getElements("Filter");
- if (aFilters instanceof Array)
- {
- for (var idxFilter = 0; idxFilter < aFilters.length; idxFilter++)
- {
- if (aFilters[idxFilter].getAttribute("columnId") == sColId || aFilters[idxFilter].parentNode == oColumn)
- {
- aAllFiltersOnColumn[aAllFiltersOnColumn.length] = aFilters[idxFilter];
- }
- }
- }
- return aAllFiltersOnColumn;
- };
- CMiniQueryManager.prototype.getMetadataType = function (oParameter)
- {
- return this.getAttributeOnColumn(oParameter, "metadataType", "string");
- };
- CMiniQueryManager.prototype.getLevelNumber = function (oParameter)
- {
- return this.getAttributeOnColumn(oParameter, "levelNumber", "integer");
- };
- CMiniQueryManager.prototype.getTag = function (oParameter)
- {
- return this.getAttributeOnColumn(oParameter, "tag", "string");
- };
- CMiniQueryManager.prototype.getRegularAggregate = function (oParameter)
- {
- var sAggregate = this.getAttributeOnColumn(oParameter, "regularAggregate", "string");
- if (typeof sAggregate == "string")
- {
- return sAggregate;
- }
- else if (sAggregate == MINI_QUERY_NO_COLUMN_FOUND)
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- else
- {
- return "none";
- }
- };
- CMiniQueryManager.prototype.getDetailAggregate = function (oParameter)
- {
- var sAggregate = this.getAttributeOnColumn(oParameter, "detailAgg", "string");
- if (typeof sAggregate == "string")
- {
- return sAggregate;
- }
- else if (sAggregate == MINI_QUERY_NO_COLUMN_FOUND)
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- else
- {
- return "none";
- }
- };
- CMiniQueryManager.prototype.getSummaryAggregate = function (oParameter)
- {
- var sAggregate = this.getAttributeOnColumn(oParameter, "agg", "string");
- if (typeof sAggregate == "string")
- {
- return sAggregate;
- }
- else if (sAggregate == MINI_QUERY_NO_COLUMN_FOUND)
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- else
- {
- return "none";
- }
- };
- CMiniQueryManager.prototype.getSemiAdditive = function (oParameter)
- {
- var sSemiAdditive = this.getAttributeOnColumn(oParameter, "semiAdditive", "boolean");
- if (sSemiAdditive === MINI_QUERY_ATTRIBUTE_NOT_FOUND)
- {
- return MINI_QUERY_NONE_STR;
- }
- return sSemiAdditive;
- };
- CMiniQueryManager.prototype.getDecimalSize = function (oParameter)
- {
- return this.getAttributeOnColumn(oParameter, "decimalSize", "integer");
- };
- CMiniQueryManager.prototype.getCollapsed = function (oParameter)
- {
- return this.getAttributeOnColumn(oParameter, "collapse", "boolean");
- };
- CMiniQueryManager.prototype.getSort = function (oParameter)
- {
- return this.getAttributeOnColumn(oParameter, "sort", "string");
- };
- CMiniQueryManager.prototype.getSortBy = function (oParameter)
- {
- return this.getAttributeOnColumn(oParameter, "sortBy", "string");
- };
- CMiniQueryManager.prototype.getColumnId = function (oParameter)
- {
- return this.getAttributeOnColumn(oParameter, "id", "string");
- };
- CMiniQueryManager.prototype.getFormatType = function (oParameter)
- {
- return this.getFormatTypeGeneric(oParameter, "type");
- };
- CMiniQueryManager.prototype.getFormatTypeForAdvanced = function (oParameter)
- {
- return this.getFormatTypeGeneric(oParameter, "advanced");
- };
- CMiniQueryManager.prototype.getFormatTypeGeneric = function (oParameter, sGenericAttribute)
- {
- var oColumn = this.getColumnFromParameter(oParameter);
- if (oColumn !== MINI_QUERY_NO_COLUMN_FOUND)
- {
- var oFormat = this.getElementsByTagName("format", oColumn);
- if (oFormat === MINI_QUERY_NO_COLUMN_FOUND)
- {
- oFormat = this.getElementsByTagName("defaultFormat", oColumn);
- }
- if (oFormat !== MINI_QUERY_NO_COLUMN_FOUND && oFormat instanceof Array)
- {
- oFormat = oFormat[0];
- var sAttribute = oFormat.getAttribute(sGenericAttribute);
- if (sAttribute !== null && sAttribute !== MINI_QUERY_EMPTY_STRING_VALUE)
- {
- return sAttribute;
- }
- }
- return MINI_QUERY_ATTRIBUTE_NOT_FOUND;
- }
- return MINI_QUERY_NO_COLUMN_FOUND;
- };
- CMiniQueryManager.prototype.getPromptReferenceOnFilter = function (sId)
- {
- if (typeof sId == "string")
- {
- var oFilter = this.getElementById(sId);
- if (typeof oFilter == "object" && oFilter !== null)
- {
- var aFE_Elements = XMLHelper_FindChildrenByTagName(oFilter, "FE", true);
- if (aFE_Elements.length > 0 && typeof aFE_Elements[0] == "object" && aFE_Elements[0] != null && aFE_Elements[0].getAttribute("prompt") != "")
- {
- return aFE_Elements[0].getAttribute("prompt");
- }
- }
- }
- return MINI_QUERY_NO_COLUMN_FOUND;
- };
- CMiniQueryManager.prototype.getPromptType = function (oParameter)
- {
- var sPromptType = this.getAttributeOnColumn(oParameter, "promptType", "string");
- if (sPromptType === MINI_QUERY_ATTRIBUTE_NOT_FOUND)
- {
- return 0;
- }
- return sPromptType;
- };
- CMiniQueryManager.prototype.getPromptCascadeOnRef = function (oParameter)
- {
- var sCascade = this.getAttributeOnColumn(oParameter, "promptCascadeOnRef", "string");
- if (sCascade === MINI_QUERY_ATTRIBUTE_NOT_FOUND)
- {
- return MINI_QUERY_NONE_STR;
- }
- return sCascade;
- };
- CMiniQueryManager.prototype.getPromptFilterItemRef = function (oParameter)
- {
- var sFilterItem = this.getAttributeOnColumn(oParameter, "promptFilterItemRef", "string");
- if (sFilterItem == '' || sFilterItem === MINI_QUERY_ATTRIBUTE_NOT_FOUND)
- {
- return MINI_QUERY_NONE_STR;
- }
- return sFilterItem;
- };
- CMiniQueryManager.prototype.getFilterDataType = function (sId)
- {
- if (typeof sId == "string")
- {
- var oFilter = this.getElementById(sId);
- if (typeof oFilter == "object" && oFilter !== null)
- {
- var aFE_Elements = XMLHelper_FindChildrenByTagName(oFilter, "FE", true);
- if (aFE_Elements.length > 0 && typeof aFE_Elements[0] == "object" && aFE_Elements[0] != null && aFE_Elements[0].getAttribute("dataType") != "")
- {
- return aFE_Elements[0].getAttribute("dataType");
- }
- }
- }
- return MINI_QUERY_NO_COLUMN_FOUND;
- };
- CMiniQueryManager.prototype.isInvalid = function (obj)
- {
- return (obj === MINI_QUERY_ATTRIBUTE_NOT_FOUND || obj === MINI_QUERY_NO_COLUMN_FOUND);
- };
- CMiniQueryManager.prototype.isPromptFilterItemRefString = function (oParameter)
- {
- var bFilterItem = this.getAttributeOnColumn(oParameter, "promptFilterItemRefIsString", "boolean");
- if (bFilterItem === MINI_QUERY_ATTRIBUTE_NOT_FOUND || bFilterItem === MINI_QUERY_NO_COLUMN_FOUND)
- {
- return false;
- }
- return bFilterItem;
- };
- CMiniQueryManager.prototype.getPromptUseItemRef = function (oParameter)
- {
- var sUseItem = this.getAttributeOnColumn(oParameter, "promptUseItemRef", "string");
- if (sUseItem == '' || sUseItem === MINI_QUERY_ATTRIBUTE_NOT_FOUND)
- {
- return MINI_QUERY_NONE_STR;
- }
- return sUseItem;
- };
- CMiniQueryManager.prototype.isPromptUseItemRefString = function (oParameter)
- {
- var bUseItem = this.getAttributeOnColumn(oParameter, "promptUseItemRefIsString", "boolean");
- if (bUseItem === MINI_QUERY_ATTRIBUTE_NOT_FOUND || bUseItem === MINI_QUERY_NO_COLUMN_FOUND)
- {
- return false;
- }
- return bUseItem;
- };
- CMiniQueryManager.prototype.getPromptDisplayItemRef = function (oParameter)
- {
- var sDisplayItem = this.getAttributeOnColumn(oParameter, "promptDisplayItemRef", "string");
- if (sDisplayItem == '' || sDisplayItem === MINI_QUERY_ATTRIBUTE_NOT_FOUND)
- {
- return MINI_QUERY_NONE_STR;
- }
- return sDisplayItem;
- };
- CMiniQueryManager.prototype.getCalcType = function (oParameter)
- {
- var sCalcOp = this.getCalcOp(oParameter);
- if (sCalcOp === MINI_QUERY_NO_COLUMN_FOUND)
- {
- return MINI_QUERY_NO_COLUMN_FOUND;
- }
- if (sCalcOp !== MINI_QUERY_EMPTY_STRING_VALUE & sCalcOp !== null && sCalcOp !== MINI_QUERY_ATTRIBUTE_NOT_FOUND)
- {
- switch (sCalcOp)
- {
-
- case "sum":
- case "difference":
- case "division":
- case "product":
- case "average":
- case "maximum":
- case "minimum":
- case "percent":
- case "percentDifference":
- case "percentTotal":
- case "percentile":
- case "rank":
- case "quartile":
- case "quantile":
- case "number":
- case "round":
- case "round down":
- case "absolute":
- case "sqrt":
- case "power":
-
- case "yearDateTime":
- case "monthYearDateTime":
- case "hourDateTime":
- case "minuteDateTime":
- case "secondDateTime":
- case "dayWeekDateTime":
- case "dayMonthDateTime":
- case "dayYearDateTime":
-
- case "hourTime":
- case "minuteTime":
- case "secondTime":
- case "yearDate":
-
- case "monthYearDate":
- case "dayWeekDate":
- case "dayMonthDate":
- case "dayYearDate":
-
- case "rankInterval":
- case "daysInterval":
- case "daysBetweenDate":
- case "monthsBetweenDate":
- case "yearsBetweenDate":
- case "daysBetweenDateTime":
- case "monthsBetweenDateTime":
- case "yearsBetweenDateTime":
- return MINI_QUERY_NUMBER_STR;
-
- case "rangeString":
- case "rangeNumber":
- case "rangeDate":
- case "rangeTime":
- case "rangeInterval":
- case "rangeDateTime":
- return MINI_QUERY_RANGE_STR;
-
- case "groupString":
- case "groupNumber":
- return MINI_QUERY_GROUP_STR;
-
- case "left":
- case "right":
- case "trim":
-
- case "monthNameDate":
- case "dayNameDate":
-
- case "monthNameDateTime":
- case "dayNameDateTime":
-
- case "concatString":
- case "concatNumber":
- case "concatInterval":
- case "concatDatetime":
- case "concatDefault":
- return MINI_QUERY_STRING_STR;
-
- case "dayFirstDate":
- case "dayLastDate":
- case "adddaysDate":
- case "addmonthsDate":
- case "addyearsDate":
- case "maxDate":
- case "minDate":
- return MINI_QUERY_DATE_STR;
-
- case "maxTime":
- case "minTime":
- return MINI_QUERY_TIME_STR;
-
- case "dayFirstDateTime":
- case "dayLastDateTime":
- case "adddaysDateTime":
- case "addmonthsDateTime":
- case "addyearsDateTime":
- case "maxDateTime":
- case "minDateTime":
- return MINI_QUERY_DATETIME_STR;
-
- case "sumInterval":
- case "differenceDate":
- case "differenceTime":
- case "differenceDateTime":
- case "differenceInterval":
- case "minInterval":
- case "maxInterval":
- return MINI_QUERY_INTERVAL_STR;
-
- case "model":
- return MINI_QUERY_MODEL_STR;
- }
- return MINI_QUERY_UNKNOWN_STR;
- }
- return MINI_QUERY_ATTRIBUTE_NOT_FOUND;
- };
- CMiniQueryManager.prototype.getExpressionLocale = function()
- {
- var oCRQReportNode = this.getCRQReportNode();
- if (oCRQReportNode === MINI_QUERY_NO_MINI_QUERY)
- {
- return MINI_QUERY_EMPTY_STRING_VALUE;
- }
- var sExpressionLocale = oCRQReportNode.getAttribute("expressionLocale");
- if (sExpressionLocale === null || sExpressionLocale === MINI_QUERY_EMPTY_STRING_VALUE)
- {
- sExpressionLocale = oCRQReportNode.getAttribute("contentLocale");
- }
- if (sExpressionLocale === null)
- {
- return MINI_QUERY_EMPTY_STRING_VALUE;
- }
- return sExpressionLocale;
- };
- CMiniQueryManager.prototype.getColumnIndexByAttribute = function(sAttName, sAttValue)
- {
- if (typeof sAttName == "string" && typeof sAttValue == "string")
- {
- var aAllCols = this.getAllColumns();
- for (var idxCols = 0; idxCols < aAllCols.length; idxCols++)
- {
- if (aAllCols[idxCols].getAttribute(sAttName) === sAttValue)
- {
- return idxCols;
- }
- }
- }
- return MINI_QUERY_INVALID_INDEX;
- };
- CMiniQueryManager.prototype.findChildrenByNameWithAttribute = function(sElementName, sAttributeName, sAttributeValue)
- {
- var aAllCols = this.getElementsByTagName(sElementName);
- for (var idxCols = 0; idxCols < aAllCols.length; idxCols++)
- {
- if (aAllCols[idxCols].getAttribute(sAttributeName) == sAttributeValue)
- {
- return aAllCols[idxCols]
- }
- }
- return MINI_QUERY_NO_COLUMN_FOUND;
- };
- CMiniQueryManager.prototype.setAutoSummary = function(sAutoSummary)
- {
- var oCRQReportNode = this.getCRQReportNode();
- if(oCRQReportNode !== MINI_QUERY_NO_MINI_QUERY)
- {
- if(sAutoSummary === "false")
- {
- oCRQReportNode.setAttribute("autoSummary", sAutoSummary);
- }
- else
- oCRQReportNode.removeAttribute("autoSummary");
-
- }
- };
- CMiniQueryManager.prototype.setAutoFooterSummary = function(sAutoFooterSummary)
- {
- var oCRQReportNode = this.getCRQReportNode();
- if(oCRQReportNode !== MINI_QUERY_NO_MINI_QUERY)
- {
- if(sAutoFooterSummary === "false")
- oCRQReportNode.setAttribute("autoFooterSummary", sAutoFooterSummary);
- else
- oCRQReportNode.removeAttribute("autoFooterSummary");
-
- }
- };
- CMiniQueryManager.prototype.setEnableDrill = function(sEnableDrill)
- {
- var oCRQReportNode = this.getCRQReportNode();
- if(oCRQReportNode !== MINI_QUERY_NO_MINI_QUERY)
- {
- oCRQReportNode.setAttribute("enableDrill", sEnableDrill);
- }
- };
- CMiniQueryManager.prototype.setEnableModelDrill = function(sEnableModelDrill)
- {
- var oCRQReportNode = this.getCRQReportNode();
- if(oCRQReportNode !== MINI_QUERY_NO_MINI_QUERY)
- {
- oCRQReportNode.setAttribute("enableModelDrill", sEnableModelDrill);
- }
- };
- CMiniQueryManager.prototype.getAutoSummary = function()
- {
- var oCRQReportNode = this.getCRQReportNode();
- if(oCRQReportNode !== MINI_QUERY_NO_MINI_QUERY && oCRQReportNode.getAttribute("autoSummary") === "false")
- {
- return "false";
- }
- else
- {
- return "true"
- }
- };
- CMiniQueryManager.prototype.getAutoFooterSummary = function()
- {
- var oCRQReportNode = this.getCRQReportNode();
- if(oCRQReportNode !== MINI_QUERY_NO_MINI_QUERY && oCRQReportNode.getAttribute("autoFooterSummary") === "false")
- {
- return "false";
- }
- else
- {
- return "true"
- }
- };
- CMiniQueryManager.prototype.getEnableDrill = function()
- {
- var oCRQReportNode = this.getCRQReportNode();
- if(oCRQReportNode !== MINI_QUERY_NO_MINI_QUERY && oCRQReportNode.getAttribute("enableDrill") === "true")
- {
- return "true"
- }
- else
- {
- return "false"
- }
- };
- CMiniQueryManager.prototype.getEnableModelDrill = function()
- {
- var oCRQReportNode = this.getCRQReportNode();
- if(oCRQReportNode !== MINI_QUERY_NO_MINI_QUERY && oCRQReportNode.getAttribute("enableModelDrill") === "true")
- {
- return "true";
- }
- else
- {
- return "false";
- }
- };
- CMiniQueryManager.prototype.setLimitData = function(sLimitData)
- {
- var oCRQReportNode = this.getCRQReportNode();
- if (oCRQReportNode !== MINI_QUERY_NO_MINI_QUERY)
- {
-
- this.m_sPreviousDataMode = oCRQReportNode.getAttribute("limitData");
-
- switch (sLimitData)
- {
- case "partial":
- oCRQReportNode.setAttribute("limitData", sLimitData);
- break;
- case "nodata":
- case "none":
- sLimitData = "none";
- oCRQReportNode.setAttribute("limitData", sLimitData);
- break;
- case "full":
- default:
-
- oCRQReportNode.removeAttribute("limitData");
- break;
- }
- }
- };
- CMiniQueryManager.prototype.getLimitData = function()
- {
- var sLimitData = "full";
- var oCRQReportNode = this.getCRQReportNode();
- if (typeof oCRQReportNode === "object")
- {
- var limitData = oCRQReportNode.getAttribute("limitData");
- if (typeof limitData === "string")
- {
- sLimitData = limitData;
- }
- }
- return sLimitData;
- };
- CMiniQueryManager.prototype.hasLimitDataChanged = function()
- {
- var oCRQReportNode = this.getCRQReportNode();
- var bResult = false;
- if (oCRQReportNode !== MINI_QUERY_NO_MINI_QUERY)
- {
- var sCurrentDataMode = oCRQReportNode.getAttribute("limitData");
- bResult = (sCurrentDataMode !== this.m_sPreviousDataMode)
- }
- return bResult;
- };
- CMiniQueryManager.prototype.toString = function()
- {
- var sMiniQuery = null;
- var oMiniQueryMarkup = XMLParser(XMLBuilderSerializeNode(this.getCRQReportNode()));
- if (oMiniQueryMarkup !== null && typeof oMiniQueryMarkup === "object")
- {
- sMiniQuery = oMiniQueryMarkup.toString();
- }
- return sMiniQuery;
- };
- CMiniQueryManager.prototype.filterExists = function()
- {
- var aFilters = this.getElementsByTagName("Filter");
- if (aFilters !== MINI_QUERY_NO_COLUMN_FOUND && aFilters.length >= 1)
- {
- return true;
- }
- return false;
- };
- CMiniQueryManager.prototype.getModelFilterNode = function(filterName)
- {
- var modelFilterNode = null;
- var aFilters = this.getElementsByTagName("Filter");
- if (aFilters !== MINI_QUERY_NO_COLUMN_FOUND && aFilters.length >= 1)
- {
- for (var idxFilter = 0; idxFilter < aFilters.length; idxFilter++)
- {
- var nFilter = aFilters[idxFilter];
- if (nFilter && (nFilter.getAttribute("name") == filterName || nFilter.getAttribute("modelFilter") == filterName))
- {
- modelFilterNode = nFilter;
- break;
- }
- }
- }
- return modelFilterNode;
- };
|