customizeRanges.xts 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. BI and PM: qs
  5. (C) Copyright IBM Corp. 2001, 2017
  6. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. -->
  8. <!--
  9. Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
  10. Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
  11. -->
  12. <xts:morphlet resolverBase="prompting" version="1.0" xmlns:xts="http://developer.cognos.com/schemas/xts/" messageBase="messages/QSRVUITextPL.xml,messages/portal.xml,messages/portalRL.xml" requiredCapability="canUseQueryStudio">
  13. <xts:block id="format" type="exec" mode="output" processor="XSLT" mimeType="text/html" dependency="getAdvancedServerSettings">
  14. <!-- get the debug logic sheet -->
  15. <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
  16. <!-- get the new theme stuff -->
  17. <xts:logicsheet path="logicsheets/portal.xsl"/>
  18. <xts:logicsheet path="qs/logicsheets/dialogs.xsl"/>
  19. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  20. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  21. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  22. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  23. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  24. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  25. <!-- apply the form logic -->
  26. <xts:logicsheet path="logicsheets/formlogic.xslt"/>
  27. <xsl:stylesheet version="1.0"
  28. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  29. xmlns:xts="http://developer.cognos.com/schemas/xts/"
  30. xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
  31. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  32. xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
  33. xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
  34. xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
  35. xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
  36. xmlns:dbg="http://developer.cognos.com/schemas/xts/logicsheets/xslt/debug/"
  37. xmlns:qsdlg="http://developer.cognos.com/schemas/xts/logicsheets/xslt/qs/dialog/"
  38. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  39. exclude-result-prefixes="xsl xts lyt pf dp df cp cf dbg qsdlg xtsext">
  40. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
  41. <!-- Default variables (like skin) and prompt variables -->
  42. <qsdlg:variables/>
  43. <qsdlg:promptVariables/>
  44. <!-- Prompt Control XSL include -->
  45. <xsl:include href="p_include.xsl"/>
  46. <!-- add any theme variables -->
  47. <df:variables/>
  48. <pf:variables/>
  49. <!-- start the output -->
  50. <xsl:template match="/root">
  51. <dp:page>
  52. <dp:script>
  53. <xsl:call-template name="getPromptCommonIncludes"/>
  54. <xsl:call-template name="gettextBoxIncludes">
  55. <xsl:with-param name="promptLocale" select="$promptLocale"/>
  56. <xsl:with-param name="promptContentLocale" select="$contentLocale"/>
  57. </xsl:call-template>
  58. <xsl:choose>
  59. <xsl:when test="/root/env/param[@name='xxCustomType'] = '2'">
  60. <!-- date -->
  61. <xsl:call-template name="getselectDateIncludes">
  62. <xsl:with-param name="promptLocale" select="$promptLocale"/>
  63. <xsl:with-param name="promptContentLocale" select="$contentLocale"/>
  64. </xsl:call-template>
  65. </xsl:when>
  66. <xsl:when test="/root/env/param[@name='xxCustomType'] = '3'">
  67. <!-- time -->
  68. <xsl:call-template name="getselectTimeIncludes">
  69. <xsl:with-param name="promptLocale" select="$promptLocale"/>
  70. <xsl:with-param name="promptContentLocale" select="$contentLocale"/>
  71. </xsl:call-template>
  72. </xsl:when>
  73. <xsl:when test="/root/env/param[@name='xxCustomType'] = '4'">
  74. <!-- interval -->
  75. <xsl:call-template name="getintervalFieldIncludes">
  76. <xsl:with-param name="promptLocale" select="$promptLocale"/>
  77. <xsl:with-param name="promptContentLocale" select="$contentLocale"/>
  78. </xsl:call-template>
  79. </xsl:when>
  80. <xsl:when test="/root/env/param[@name='xxCustomType'] = '5'">
  81. <!-- datetime -->
  82. <xsl:call-template name="getselectDateTimeIncludes">
  83. <xsl:with-param name="promptLocale" select="$promptLocale"/>
  84. <xsl:with-param name="promptContentLocale" select="$contentLocale"/>
  85. </xsl:call-template>
  86. </xsl:when>
  87. </xsl:choose>
  88. <link href="{$qsdlgskin}/qs/QSRVDialog.css" type="text/css" rel="stylesheet"/>
  89. <script type="text/javascript">
  90. <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/layout.js</xsl:attribute>
  91. <xsl:text/>//<xsl:text/>
  92. </script>
  93. <script type="text/javascript">
  94. <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/dialogs/customizeRangesDialog.js</xsl:attribute>
  95. <xsl:text/>//<xsl:text/>
  96. </script>
  97. <script type="text/javascript">
  98. <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/classes/CDialogManager.js</xsl:attribute>
  99. <xsl:text/>//<xsl:text/>
  100. </script>
  101. <script type="text/javascript">
  102. <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/classes/CWindowManager.js</xsl:attribute>
  103. <xsl:text/>//<xsl:text/>
  104. </script>
  105. <script type="text/javascript">
  106. var gsCustomGroups = "<xsl:value-of select="xtsext:javascriptencode(string(/root/configurationVars/configuration/property[@name='RSVP.QS.FORCE.CUSTOM.GROUPS.VARCHAR']))"/>";
  107. var goDialogManager = new CDialogManager();
  108. var customRangeValues = new Array();
  109. var customRangeNames = new Array();
  110. var customRangeDisplay = new Array();
  111. var cf = getConfigFrame();
  112. var advClosedSize = 500;
  113. var advOpenSize = 534;
  114. var initialRangeSelectSize = null;
  115. function stringReplace (origString, valToReplace, newString)
  116. {
  117. var strRegExp = new RegExp();
  118. strRegExp.compile(valToReplace, "g");
  119. return origString.replace(strRegExp, newString);
  120. }
  121. function customTypeChange()
  122. {
  123. var customType = document.f.customizationType.value;
  124. if (customType == 0)
  125. {
  126. if (cf.dlgGlobalGetParm('xxExistingCol') == 'group')
  127. goDialogManager.getFeatureManager().launchFeature('CustomGroups');
  128. else
  129. cf.loadCustomGroups();
  130. }
  131. }
  132. function execute()
  133. {
  134. var before_col_id = cf.dlgGlobalGetParm('xxInsBeforeColId');
  135. var calcOp = "none";
  136. var calcName = "<xts:string id="CUSTOMIZE_VALUES_NEW_COLUMN_LABEL" encode="javascript"/>";
  137. var colName = cf.dlgGlobalGetParm('xxColumnName');
  138. if (cf.dlgGlobalGetParm('xxCustomType') == '0')
  139. calcOp = "rangeString";
  140. else if (cf.dlgGlobalGetParm('xxCustomType') == '1')
  141. calcOp = "rangeNumber";
  142. else if (cf.dlgGlobalGetParm('xxCustomType') == '2')
  143. calcOp = "rangeDate";
  144. else if (cf.dlgGlobalGetParm('xxCustomType') == '3')
  145. calcOp = "rangeTime";
  146. else if (cf.dlgGlobalGetParm('xxCustomType') == '4')
  147. calcOp = "rangeInterval";
  148. else if (cf.dlgGlobalGetParm('xxCustomType') == '5')
  149. calcOp = "rangeDateTime";
  150. var calcExpr = buildCustomRangesCalcExpression();
  151. if (calcExpr != "")
  152. {
  153. //figure out the rest
  154. if (document.f.calc_label_text.value != "")
  155. calcName = document.f.calc_label_text.value;
  156. else
  157. calcName = stringReplace (calcName, "\\^0", colName);
  158. if (cf.dlgGlobalGetParm('xxExistingCol') != null)
  159. {
  160. var cmd = cf.generateReplaceExpressionCmd(calcExpr, calcExpr, calcOp);
  161. cmd += ";" + cf.generateNcCmd(cf.dlgGlobalGetParm('xxColumnIndex'), calcName)
  162. cf.sendCmd(cmd, "", true);
  163. }
  164. else
  165. cf.addCalcColumn(before_col_id, calcExpr, calcExpr, calcName, "none", calcOp, "none", "none", 62, 7, "none", -1, "none"); //calcBy,calcBase,calcFormat="none",calculationType=62,usage=7,regularAgg="none",promptType=-1,detailAgg="none"
  166. }
  167. else
  168. cf.hideDialogFrame();
  169. }
  170. function CMultipleRange_insertWithLabel(label, useVal)
  171. {
  172. var sInsertUse;
  173. var sInsertDisplay;
  174. if (typeof useVal != "undefined")
  175. {
  176. sInsertUse = useVal.replace(/''/g, "'");
  177. var rangeLiteral = new CRangeLiteral(useVal.replace(/''/g, "'"), label.replace(/''/g, "'"));
  178. var rangeType = rangeLiteral.getFilterType();
  179. if (cf.dlgGlobalGetParm('xxCustomType') == '1')
  180. {
  181. <!-- numeric -->
  182. var formattedNumber = 0;
  183. switch (rangeType)
  184. {
  185. case 0: //equal to
  186. formattedNumber = sFormatNumber(rangeLiteral.getFirstValue());
  187. rangeLiteral = new CRangeLiteral(formattedNumber, label);
  188. break;
  189. case 1: //greater than
  190. formattedNumber = sFormatNumber(rangeLiteral.getFirstValue());
  191. rangeLiteral = new CRangeLiteral(formattedNumber + ":", label);
  192. break;
  193. case 2: //less than
  194. formattedNumber = sFormatNumber(rangeLiteral.getSecondValue());
  195. rangeLiteral = new CRangeLiteral(":" + formattedNumber, label);
  196. break;
  197. case 3: //in range
  198. formattedNumber = sFormatNumber(rangeLiteral.getFirstValue());
  199. var formattedNumber2 = sFormatNumber(rangeLiteral.getSecondValue());
  200. rangeLiteral = new CRangeLiteral(formattedNumber + " : " + formattedNumber2, label);
  201. break;
  202. default:
  203. return;
  204. }
  205. }
  206. else if (cf.dlgGlobalGetParm('xxCustomType') == '2')
  207. {
  208. <!-- date -->
  209. var formattedDate = 0;
  210. switch (rangeType)
  211. {
  212. case 0: //equal to
  213. formattedDate = formatDate(rangeLiteral.getFirstValue())
  214. rangeLiteral = new CRangeLiteral(formattedDate, label);
  215. break;
  216. case 1: //greater than
  217. formattedDate = formatDate(rangeLiteral.getFirstValue())
  218. rangeLiteral = new CRangeLiteral(formattedDate + ":", label);
  219. break;
  220. case 2: //less than
  221. formattedDate = formatDate(rangeLiteral.getSecondValue())
  222. rangeLiteral = new CRangeLiteral(":" + formattedDate, label);
  223. break;
  224. case 3: //in range
  225. formattedDate = formatDate(rangeLiteral.getFirstValue())
  226. var formattedDate2 = formatDate(rangeLiteral.getSecondValue())
  227. rangeLiteral = new CRangeLiteral(formattedDate + " : " + formattedDate2, label);
  228. break;
  229. default:
  230. return;
  231. }
  232. }
  233. else if (cf.dlgGlobalGetParm('xxCustomType') == '3')
  234. {
  235. <!-- time -->
  236. var formattedTime = 0;
  237. switch (rangeType)
  238. {
  239. case 0: //equal to
  240. formattedTime = formatTime(rangeLiteral.getFirstValue());
  241. rangeLiteral = new CRangeLiteral(formattedTime, label);
  242. break;
  243. case 1: //greater than
  244. formattedTime = formatTime(rangeLiteral.getFirstValue());
  245. rangeLiteral = new CRangeLiteral(formattedTime + ":", label);
  246. break;
  247. case 2: //less than
  248. formattedTime = formatTime(rangeLiteral.getSecondValue());
  249. rangeLiteral = new CRangeLiteral(":" + formattedTime, label);
  250. break;
  251. case 3: //in range
  252. formattedTime = formatTime(rangeLiteral.getFirstValue());
  253. var formattedTime2 = formatTime(rangeLiteral.getSecondValue());
  254. rangeLiteral = new CRangeLiteral(formattedTime + " : " + formattedTime2, label);
  255. break;
  256. default:
  257. return;
  258. }
  259. }
  260. else if (cf.dlgGlobalGetParm('xxCustomType') == '5')
  261. {
  262. <!-- datetime -->
  263. var formattedDate = 0;
  264. var formattedTime = 0;
  265. switch (rangeType)
  266. {
  267. case 0: //equal to
  268. formattedDate = formatDate(rangeLiteral.getFirstValue().substring(0, rangeLiteral.getFirstValue().indexOf(" ")))
  269. formattedTime = formatTime(rangeLiteral.getFirstValue().substr(rangeLiteral.getFirstValue().indexOf(" ") + 1));
  270. rangeLiteral = new CRangeLiteral(formattedDate + " " + formattedTime, label);
  271. break;
  272. case 1: //greater than
  273. formattedDate = formatDate(rangeLiteral.getFirstValue().substring(0, rangeLiteral.getFirstValue().indexOf(" ")))
  274. formattedTime = formatTime(rangeLiteral.getFirstValue().substr(rangeLiteral.getFirstValue().indexOf(" ") + 1));
  275. rangeLiteral = new CRangeLiteral(formattedDate + " " + formattedTime + ":", label);
  276. break;
  277. case 2: //less than
  278. formattedDate = formatDate(rangeLiteral.getSecondValue().substring(0, rangeLiteral.getSecondValue().indexOf(" ")))
  279. formattedTime = formatTime(rangeLiteral.getSecondValue().substr(rangeLiteral.getSecondValue().indexOf(" ") + 1));
  280. rangeLiteral = new CRangeLiteral(":" + formattedDate + " " + formattedTime, label);
  281. break;
  282. case 3: //in range
  283. formattedDate = formatDate(rangeLiteral.getFirstValue().substring(0, rangeLiteral.getFirstValue().indexOf(" ")))
  284. var formattedDate2 = formatDate(rangeLiteral.getSecondValue().substring(0, rangeLiteral.getSecondValue().indexOf(" ")))
  285. formattedTime = formatTime(rangeLiteral.getFirstValue().substr(rangeLiteral.getFirstValue().indexOf(" ") + 1));
  286. var formattedTime2 = formatTime(rangeLiteral.getSecondValue().substr(rangeLiteral.getSecondValue().indexOf(" ") + 1));
  287. rangeLiteral = new CRangeLiteral(formattedDate + " " + formattedTime + " : " + formattedDate2 + " " + formattedTime2, label);
  288. break;
  289. default:
  290. return;
  291. }
  292. }
  293. sInsertDisplay = rangeLiteral.getFormatValue();
  294. }
  295. else
  296. {
  297. sInsertUse = this.m_oRangeControl.sGetValue();
  298. sInsertDisplay = this.m_oRangeControl.sGetFormatValue();
  299. }
  300. if ((sInsertUse) &amp;&amp; (sInsertDisplay) &amp;&amp; (label != ""))
  301. {
  302. for (var i = 0; i &lt; customRangeValues.length; i++)
  303. {
  304. if (customRangeValues[i] == sInsertUse)
  305. return
  306. }
  307. customRangeNames[customRangeNames.length] = label.replace(/''/g, "'");
  308. customRangeValues[customRangeValues.length] = sInsertUse;
  309. customRangeDisplay[customRangeDisplay.length] = sInsertDisplay;
  310. sInsertDisplay = "'" + label.replace(/''/g, "'") + "': " + sInsertDisplay;
  311. this.m_oLstChoices.options[this.m_oLstChoices.options.length] = new Option(sInsertDisplay, sInsertUse, false, false);
  312. }
  313. this.checkData();
  314. //resize the list to fit the data if required
  315. this.resizeList();
  316. }
  317. function formatTime(unformattedTime)
  318. {
  319. var dTest = dParseTime(unformattedTime);
  320. return getFormatTime(dTest,2);
  321. }
  322. function formatDate(unformattedDate)
  323. {
  324. var dTest = dParseDate(unformattedDate, 'YMD');
  325. return getFormatDate(dTest, 0, g_dateOrder);
  326. }
  327. //remove selections from the list of choices
  328. function CMultipleRange_removeFromList()
  329. {
  330. sl = this.m_oLstChoices.selectedIndex;
  331. if (sl != -1)
  332. {
  333. var i = 0;
  334. while (i &lt; this.m_oLstChoices.options.length)
  335. {
  336. if (this.m_oLstChoices.options[i].selected == true)
  337. {
  338. this.m_oLstChoices.options[i] = null;
  339. var tmpArray1 = new Array();
  340. var tmpArray2 = new Array();
  341. var tmpArray3 = new Array();
  342. for (var j = 0; j &lt; i; j++)
  343. {
  344. tmpArray1[j] = customRangeNames[j];
  345. tmpArray2[j] = customRangeValues[j];
  346. tmpArray3[j] = customRangeDisplay[j];
  347. }
  348. for (var j = i; j &lt; customRangeNames.length - 1; j++)
  349. {
  350. tmpArray1[j] = customRangeNames[j + 1];
  351. tmpArray2[j] = customRangeValues[j + 1];
  352. tmpArray3[j] = customRangeDisplay[j + 1];
  353. }
  354. customRangeNames = tmpArray1;
  355. customRangeValues = tmpArray2;
  356. customRangeDisplay = tmpArray3;
  357. }
  358. else
  359. i++;
  360. }
  361. }
  362. this.checkData();
  363. //resize the list to fit the data if required
  364. this.resizeList();
  365. if (document.all)
  366. checkOverflowOnSelect();
  367. }
  368. function CMultipleRange_up()
  369. {
  370. this.moveUpDown(true);
  371. }
  372. function CMultipleRange_down()
  373. {
  374. this.moveUpDown(false);
  375. }
  376. function CMultipleRange_moveUpDown(up)
  377. {
  378. var selectedVals = new Array();
  379. var i;
  380. for (i = 0; i &lt; this.m_oLstChoices.options.length; i++)
  381. {
  382. if (this.m_oLstChoices.options[i].selected == true)
  383. selectedVals[i] = true;
  384. }
  385. if ((selectedVals.length == 0)||(up &amp;&amp; (selectedVals[0] == true))||(!up &amp;&amp; ((selectedVals.length - 1) == (customRangeNames.length - 1))))
  386. return;
  387. while (this.m_oLstChoices.options.length)
  388. this.m_oLstChoices.options[0] = null;
  389. if (up)
  390. {
  391. for (i = 0; i &lt; customRangeNames.length; i++)
  392. {
  393. var sInsertDisplay = "'" + customRangeNames[i] + "': " + customRangeDisplay[i];
  394. if (selectedVals[i] == true)
  395. {
  396. var sInsertDisplayUp = "'" + customRangeNames[i - 1] + "': " + customRangeDisplay[i - 1];
  397. this.m_oLstChoices.options[this.m_oLstChoices.options.length - 1] = new Option(sInsertDisplay, customRangeValues[i], false, false);
  398. this.m_oLstChoices.options[this.m_oLstChoices.options.length - 1].selected = true;
  399. this.m_oLstChoices.options[this.m_oLstChoices.options.length] = new Option(sInsertDisplayUp, customRangeValues[i - 1], false, false);
  400. var tmp = customRangeNames[i - 1];
  401. customRangeNames[i - 1] = customRangeNames[i];
  402. customRangeNames[i] = tmp;
  403. tmp = customRangeValues[i - 1];
  404. customRangeValues[i - 1] = customRangeValues[i];
  405. customRangeValues[i] = tmp;
  406. tmp = customRangeDisplay[i - 1];
  407. customRangeDisplay[i - 1] = customRangeDisplay[i];
  408. customRangeDisplay[i] = tmp;
  409. continue;
  410. }
  411. this.m_oLstChoices.options[this.m_oLstChoices.options.length] = new Option(sInsertDisplay, customRangeValues[i], false, false);
  412. }
  413. }
  414. else
  415. {
  416. for (i = customRangeNames.length - 1; i >= 0; i--)
  417. {
  418. if (selectedVals[i] == true)
  419. {
  420. var tmp = customRangeNames[i + 1];
  421. customRangeNames[i + 1] = customRangeNames[i];
  422. customRangeNames[i] = tmp;
  423. tmp = customRangeValues[i + 1];
  424. customRangeValues[i + 1] = customRangeValues[i];
  425. customRangeValues[i] = tmp;
  426. tmp = customRangeDisplay[i + 1];
  427. customRangeDisplay[i + 1] = customRangeDisplay[i];
  428. customRangeDisplay[i] = tmp;
  429. }
  430. }
  431. var sInsertDisplay = "'" + customRangeNames[0] + "': " + customRangeDisplay[0];
  432. this.m_oLstChoices.options[this.m_oLstChoices.options.length] = new Option(sInsertDisplay, customRangeValues[0], false, false);
  433. for (i = 1; i &lt; customRangeNames.length; i++)
  434. {
  435. var sInsertDisplay = "'" + customRangeNames[i] + "': " + customRangeDisplay[i];
  436. this.m_oLstChoices.options[this.m_oLstChoices.options.length] = new Option(sInsertDisplay, customRangeValues[i], false, false);
  437. if (selectedVals[i - 1] == true)
  438. this.m_oLstChoices.options[this.m_oLstChoices.options.length - 1].selected = true;
  439. }
  440. }
  441. }
  442. function addValue()
  443. {
  444. if (textBoxrange_name.isValid())
  445. {
  446. var customType = cf.dlgGlobalGetParm('xxCustomType');
  447. var b = false;
  448. if ((customType == '0' || customType == '1') &amp;&amp; textBoxrange_fromcustomRange.isValid() &amp;&amp; textBoxrange_tocustomRange.isValid())
  449. b = true;
  450. else if (customType == '2' &amp;&amp; pickerControlrange_fromcustomRange.isValid() &amp;&amp; pickerControlrange_tocustomRange.isValid())
  451. b = true; // date
  452. else if (customType == '3' &amp;&amp; timePickerrange_fromcustomRange.isValid() &amp;&amp; timePickerrange_tocustomRange.isValid())
  453. b = true; // time
  454. else if (customType == '4' &amp;&amp; intervalControlrange_fromcustomRange.isValid() &amp;&amp; intervalControlrange_tocustomRange.isValid())
  455. b = true; // interval
  456. else if (customType == '5' &amp;&amp; selectDateTimerange_fromcustomRange.isValid() &amp;&amp; selectDateTimerange_tocustomRange.isValid())
  457. b = true;
  458. if ((textBoxrange_name.sGetValue() != '') &amp;&amp; b)
  459. {
  460. multipleRangeCustomRange.insertWithLabel(textBoxrange_name.sGetValue())
  461. if (document.all)
  462. checkOverflowOnSelect();
  463. }
  464. }
  465. }
  466. function init()
  467. {
  468. attachMouseEvents();
  469. if (initialRangeSelectSize == null)
  470. initialRangeSelectSize = document.f._oLstChoicescustomRange.offsetWidth;
  471. if (cf.dlgGlobalGetParm('xxCustomType') == '0' || (cf.dlgGlobalGetParm('xxCustomType') == '1' &amp;&amp; cf.dlgGlobalGetParm('xxIsMeasure') != '1'))
  472. document.f.customizationType.options[document.f.customizationType.options.length] = new Option("<xts:string id="CUSTOMIZE_VALUES_OPTION_INDIVIDUAL_GROUPS" encode="javascript"/>", 0);
  473. document.f.customizationType.options[document.f.customizationType.options.length] = new Option("<xts:string id="CUSTOMIZE_VALUES_OPTION_RANGES" encode="javascript"/>", 1);
  474. document.f.customizationType.options[document.f.customizationType.options.length - 1].selected = "true";
  475. if (cf.dlgGlobalGetParm('xxCVColumnName') != null)
  476. document.f.calc_label_text.value = cf.dlgGlobalGetParm('xxCVColumnName');
  477. if (cf.dlgGlobalGetParm('xxCustomType') == '3' || cf.dlgGlobalGetParm('xxCustomType') == '5')
  478. {
  479. var parentForm = document.f;
  480. var x = document.createElement("input");
  481. x.type = "hidden";
  482. x.name = "timeselector";
  483. parentForm.appendChild(x);
  484. advClosedSize = 577;
  485. advOpenSize = 577;
  486. }
  487. for (var i = 0; i &lt; cf.dlgGlobalSize('xxExistingRanges'); i++)
  488. {
  489. var ranges = cf.dlgGlobalGetParmAt('xxExistingRanges', i);
  490. multipleRangeCustomRange.insertWithLabel(ranges[0], ranges[1]);
  491. }
  492. if (cf &amp;&amp; cf.showDialogFrame)
  493. cf.showDialogFrame(advClosedSize);
  494. textBoxrange_name.m_oForm.focus();
  495. if (cf.dlgGlobalGetParm('xxExistingRemainingGroup') == false)
  496. document.f.remaining_values_options[1].checked = true
  497. else
  498. {
  499. if (cf.dlgGlobalGetParm('xxExistingRemainingGroup') == null)
  500. document.f.remaining_values_options[0].checked = true;
  501. else
  502. {
  503. document.f.range_name_text.value = cf.dlgGlobalGetParm('xxExistingRemainingGroup');
  504. document.f.remaining_values_options[2].checked = true;
  505. }
  506. }
  507. showHideApplyRemaining(false);
  508. }
  509. function showHideApplyRemaining(show)
  510. {
  511. var remainingValuesRow = document.getElementById("remainingValuesRow");
  512. var applyRemainingImg = document.getElementById("applyRemainingImg");
  513. var individualValuesText = document.getElementById("individualValuesText");
  514. var noRangeNameText = document.getElementById("noRangeNameText");
  515. var rangeNameText = document.getElementById("rangeNameText");
  516. var isReload = (typeof show != "undefined" &amp;&amp; show == "reload");
  517. if ((!isReload) &amp;&amp; (remainingValuesRow.style.display == "none" || (typeof show != "undefined" &amp;&amp; show == true)))
  518. {
  519. if (document.all)
  520. remainingValuesRow.style.display = "inline";
  521. else
  522. remainingValuesRow.style.display = "table-row";
  523. applyRemainingImg.src = "<xsl:value-of select="xtsext:javascriptencode(string($qsdlgskin))"/>/prompting/images/prompt_option_collapse.gif";
  524. individualValuesText.style.display = "none";
  525. noRangeNameText.style.display = "none";
  526. rangeNameText.style.display = "none";
  527. cf.showDialogFrame(advOpenSize);
  528. }
  529. else
  530. {
  531. if (isReload)
  532. {
  533. individualValuesText.style.display = "none";
  534. noRangeNameText.style.display = "none";
  535. rangeNameText.style.display = "none";
  536. }
  537. else
  538. {
  539. remainingValuesRow.style.display = "none";
  540. applyRemainingImg.src = "<xsl:value-of select="xtsext:javascriptencode(string($qsdlgskin))"/>/prompting/images/prompt_option_expand.gif";
  541. }
  542. var doAction = ((isReload &amp;&amp; (remainingValuesRow.style.display == "none")) || !isReload);
  543. if (document.f.remaining_values_options[0].checked == true)
  544. {
  545. if (doAction)
  546. {
  547. if (document.all)
  548. individualValuesText.style.display = "inline";
  549. else
  550. individualValuesText.style.display = "table-row";
  551. }
  552. }
  553. else if (document.f.remaining_values_options[1].checked == true || (document.f.remaining_values_options[2].checked == true &amp;&amp; document.f.range_name_text.value == ""))
  554. {
  555. document.f.remaining_values_options[1].checked = true;
  556. if (doAction)
  557. {
  558. if (document.all)
  559. noRangeNameText.style.display = "inline";
  560. else
  561. noRangeNameText.style.display = "table-row";
  562. }
  563. }
  564. else
  565. {
  566. if (doAction)
  567. {
  568. if (document.all)
  569. rangeNameText.style.display = "inline";
  570. else
  571. rangeNameText.style.display = "table-row";
  572. }
  573. var rnv = document.getElementById("rangeNameValue")
  574. var rnvChild = stringReplace ("<xts:string id="CUSTOMIZE_VALUES_RANGE_NAME" encode="javascript"/>", "\\^0", document.f.range_name_text.value);
  575. while (rnv.hasChildNodes())
  576. rnv.removeChild(rnv.firstChild);
  577. rnv.appendChild(document.createTextNode(rnvChild));
  578. }
  579. if (doAction)
  580. cf.showDialogFrame(advClosedSize);
  581. }
  582. }
  583. function checkOverflowOnSelect()
  584. {
  585. var selectObj = document.f._oLstChoicescustomRange;
  586. selectObj.style.width = "100%"; //We need to do this because IE doesn't resize this properly to auto unless first set to 100%
  587. selectObj.style.width = "auto";
  588. if (selectObj.offsetWidth &lt;= initialRangeSelectSize)
  589. {
  590. selectObj.style.width = "100%";
  591. initialRangeSelectSize = selectObj.offsetWidth; //We need to do this because for some reason, this isn't always calculated properly in the init()
  592. }
  593. }
  594. </script>
  595. <script type="text/javascript">
  596. <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/dialogs/executeButton.js</xsl:attribute>
  597. <xsl:text/>//<xsl:text/>
  598. </script>
  599. </dp:script>
  600. <form style="margin:0px" name="f" method="POST" onsubmit="return false;">
  601. <table border="0" cellspacing="0" cellpadding="0" height="100%" width="100%">
  602. <tr>
  603. <td width="100%" height="0%">
  604. <!-- dialog header -->
  605. <dp:header help="false">
  606. <!-- header titles -->
  607. <dp:title>
  608. <xts:string id="CUSTOMIZE_VALUES_TITLE"/>
  609. </dp:title>
  610. <!-- close link for the header -->
  611. <dp:close>
  612. <a href="javascript:getConfigFrame().hideDialogFrame()">
  613. <dp:closeMarker/>
  614. </a>
  615. </dp:close>
  616. <!-- description (hint text) -->
  617. <dp:description>
  618. <xts:string id="CUSTOMIZE_VALUES_DESCRIPTION"/>
  619. </dp:description>
  620. </dp:header>
  621. </td>
  622. </tr>
  623. <tr>
  624. <td width="100%" height="100%" valign="top">
  625. <!-- layout -->
  626. <lyt:layout style="1" border="no">
  627. <lyt:section>
  628. <table>
  629. <tr>
  630. <td>
  631. <img src="{$qsdlgskin}/prompting/images/icon_required.gif" border="0" height="10" width="10"/>
  632. </td>
  633. <td class="dialogHintText">
  634. <xts:string id="CUSTOMIZE_VALUES_REQUIRED_FIELD"/>
  635. </td>
  636. </tr>
  637. <tr>
  638. <td>
  639. <img src="{$qsdlgskin}/prompting/images/error_timed_on.gif" border="0" height="10" width="10"/>
  640. </td>
  641. <td class="dialogHintText">
  642. <xts:string id="CUSTOMIZE_VALUES_NOTHING_SELECTED"/>
  643. </td>
  644. </tr>
  645. </table>
  646. <dp:input>
  647. <dp:section1>
  648. <xts:string id="CUSTOMIZE_VALUES_TYPE"/>
  649. </dp:section1>
  650. <dp:section2>
  651. <select name="customizationType" onChange="javascript:setTimeout(customTypeChange, 10);" style="width:260px;"/>
  652. </dp:section2>
  653. </dp:input>
  654. </lyt:section>
  655. <lyt:section>
  656. <dp:section1>
  657. <TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
  658. <TR>
  659. <TD valign="top" width="45%">
  660. <TABLE border="0" cellspacing="0" cellpadding="0" width="100%">
  661. <tr>
  662. <TD colspan="2" class="clsControlLabel">
  663. <xts:string id="CUSTOMIZE_RANGE_APPLY_RULES"/>
  664. </TD>
  665. </tr>
  666. <TR>
  667. <TD colspan="2">
  668. <SELECT name="_oLstChoicescustomRange" style="width:100%;" multiple="multiple" size="10"/>
  669. </TD>
  670. </TR>
  671. <TR>
  672. <TD nowrap="nowrap">
  673. <A href="javascript:multipleRangeCustomRange.up()" class="clsLink"><xts:string id="CUSTOMIZE_RANGE_UP"/></A>
  674. <A style="margin-left:10px;margin-right:10px;" href="javascript:multipleRangeCustomRange.down()" class="clsLink"><xts:string id="CUSTOMIZE_RANGE_DOWN"/></A>
  675. </TD>
  676. <TD align="right" nowrap="nowrap">
  677. <A style="margin-right:10px;" href="javascript:multipleRangeCustomRange.selectAll()" class="clsLink"><xts:string id="DIALOG_SELECT_ALL"/></A>
  678. <A style="margin-right:10px;" href="javascript:multipleRangeCustomRange.deSelectAll()" class="clsLink"><xts:string id="DIALOG_DESELECT_ALL"/></A>
  679. <A href="javascript:multipleRangeCustomRange.removeFromList()" class="clsLink"><xts:string id="CUSTOMIZE_VALUES_DELETE"/></A>
  680. </TD>
  681. </TR>
  682. <tr>
  683. <td colspan="2">
  684. <IMG src="{$qsdlgskin}/prompting/images/spacer.gif" height="10" width="1"/>
  685. </td>
  686. </tr>
  687. <TR>
  688. <TD valign="top" colspan="2">
  689. <table border="0" cellspacing="0" cellpadding="0" width="100%">
  690. <tr>
  691. <td class="formText" colspan="2">
  692. <a style="padding-right:5px;" href="javascript:void(0);" onmousedown="showHideApplyRemaining()" onmouseover="window.status='';return true;" onmouseout="window.status='';return true;"><xts:string id="CUSTOMIZE_VALUES_ALL_REMAINING_VALUES"/></a>
  693. <a href="javascript:void(0);" onmousedown="showHideApplyRemaining()" onmouseover="window.status='';return true;" onmouseout="window.status='';return true;">
  694. <img id="applyRemainingImg" border="0">
  695. <xsl:attribute name="src"><xsl:value-of select="$qsdlgskin"/>/prompting/images/prompt_option_expand.gif</xsl:attribute>
  696. </img>
  697. </a>
  698. </td>
  699. </tr>
  700. <tr id="individualValuesText" style="display:none">
  701. <td class="formText" colspan="2">
  702. <xts:string id="CUSTOMIZE_VALUES_USE_INDIVIDUAL_VALUES"/>
  703. </td>
  704. </tr>
  705. <tr id="noRangeNameText" style="display:none">
  706. <td class="formText" colspan="2">
  707. <xts:string id="CUSTOMIZE_VALUES_DO_NOT_SHOW_RANGE_NAME"/>
  708. </td>
  709. </tr>
  710. <tr id="rangeNameText" style="display:none">
  711. <td id="rangeNameValue" class="formText" colspan="2">
  712. <xts:string id="CUSTOMIZE_VALUES_RANGE_NAME"/>
  713. </td>
  714. </tr>
  715. <tr id="remainingValuesRow">
  716. <td>
  717. <dp:choice>
  718. <dp:section1>
  719. <input type="radio" name="remaining_values_options" value="individual_values" checked="true"/>
  720. </dp:section1>
  721. <dp:section2>
  722. <xts:string id="CUSTOMIZE_VALUES_USE_INDIVIDUAL_VALUES"/>
  723. </dp:section2>
  724. <dp:section1>
  725. <input type="radio" name="remaining_values_options" value="do_not_show"/>
  726. </dp:section1>
  727. <dp:section2>
  728. <xts:string id="CUSTOMIZE_VALUES_DO_NOT_SHOW_RANGE_NAME"/>
  729. </dp:section2>
  730. <dp:section1>
  731. <input type="radio" name="remaining_values_options" value="range_name"/>
  732. </dp:section1>
  733. <dp:section2>
  734. <xts:string id="CUSTOMIZE_VALUES_NEW_RANGE_NAME"/>
  735. </dp:section2>
  736. <dp:section3>
  737. <input style="width:200px;" type="text" name="range_name_text" onClick="javascript:document.f.remaining_values_options[2].checked = true;" onKeyPress="javascript:document.f.remaining_values_options[2].checked = true;"/>
  738. </dp:section3>
  739. </dp:choice>
  740. </td>
  741. </tr>
  742. </table>
  743. </TD>
  744. </TR>
  745. </TABLE>
  746. </TD>
  747. <TD valign="top" align="center" width="10%" height="100%">
  748. <TABLE border="0" cellpadding="2" cellspacing="0" height="100%">
  749. <tr>
  750. <td align="center" valign="top" height="100%">
  751. <table cellpadding="0" cellspacing="0" border="0" onClick="addValue()" style="margin-top:100px">
  752. <tr>
  753. <td id="insertButton" align="center" valign="middle" class="clsDialogButton" onmouseover="document.getElementById('insertButton').className='clsDialogButtonOver';window.status='';return true;" onmouseout="document.getElementById('insertButton').className='clsDialogButton';window.status='';return true;">
  754. <IMG src="{$qsdlgskin}/prompting/images/remove.gif" border="0" height="16" width="16" align="top">
  755. <xsl:attribute name="title"><xts:string id="CUSTOMIZE_RANGE_INSERT_TIP"/></xsl:attribute>
  756. </IMG>
  757. </td>
  758. </tr>
  759. </table>
  760. </td>
  761. </tr>
  762. </TABLE>
  763. </TD>
  764. <TD valign="top">
  765. <table cellpadding="0" cellspacing="0">
  766. <tr>
  767. <td class="clsControlLabel" nowrap="nowrap">
  768. <xts:string id="CUSTOMIZE_RANGE_CREATE_RANGE"/>
  769. </td>
  770. </tr>
  771. <tr>
  772. <td style="border:1px solid #cccccc;padding:5px;">
  773. <table cellpadding="0" cellspacing="0">
  774. <tr>
  775. <td class="clsControlLabel">
  776. <xts:string id="CUSTOMIZE_RANGE_TEXT_LABEL"/>
  777. </td>
  778. </tr>
  779. <tr>
  780. <td>
  781. <xsl:call-template name="getTextBox">
  782. <xsl:with-param name="promptLocale" select="$promptLocale"/>
  783. <xsl:with-param name="promptFormName" select="$promptFormName"/>
  784. <xsl:with-param name="promptRequired" select="'true'"/>
  785. <xsl:with-param name="promptId" select="'range_name'"/>
  786. <xsl:with-param name="promptHideText" select="'false'"/>
  787. <xsl:with-param name="promptMultiLine" select="'false'"/>
  788. <xsl:with-param name="promptParameter" select="'parameterValue'"/>
  789. <xsl:with-param name="promptStyle" select="'width:235px'"/>
  790. <xsl:with-param name="promptSubmitType" select="'NO_SUBMIT'"/>
  791. <xsl:with-param name="promptForceOuterDivWidth" select="'true'"/>
  792. </xsl:call-template>
  793. </td>
  794. </tr>
  795. <tr>
  796. <td>
  797. <xsl:choose>
  798. <xsl:when test="/root/env/param[@name='xxCustomType'] = '0'">
  799. <xsl:call-template name="getTextBox">
  800. <xsl:with-param name="promptRange" select="'true'"/>
  801. <xsl:with-param name="promptLocale" select="$promptLocale"/>
  802. <xsl:with-param name="promptFormName" select="$promptFormName"/>
  803. <xsl:with-param name="promptRequired" select="'false'"/>
  804. <xsl:with-param name="promptId" select="'customRange'"/>
  805. <xsl:with-param name="promptHideText" select="'false'"/>
  806. <xsl:with-param name="promptMultiLine" select="'false'"/>
  807. <xsl:with-param name="promptParameter" select="'parameterRange'"/>
  808. <xsl:with-param name="promptSubmitType" select="'NO_SUBMIT'"/>
  809. </xsl:call-template>
  810. </xsl:when>
  811. <xsl:when test="/root/env/param[@name='xxCustomType'] = '1'">
  812. <xsl:call-template name="getTextBox">
  813. <xsl:with-param name="promptRange" select="'true'"/>
  814. <xsl:with-param name="promptLocale" select="$promptLocale"/>
  815. <xsl:with-param name="promptFormName" select="$promptFormName"/>
  816. <xsl:with-param name="promptRequired" select="'false'"/>
  817. <xsl:with-param name="promptId" select="'customRange'"/>
  818. <xsl:with-param name="promptHideText" select="'false'"/>
  819. <xsl:with-param name="promptMultiLine" select="'false'"/>
  820. <xsl:with-param name="promptParameter" select="'parameterRange'"/>
  821. <xsl:with-param name="promptDataType" select="'number'"/>
  822. <xsl:with-param name="promptMaxLength" select="'15'"/>
  823. <xsl:with-param name="promptSubmitType" select="'NO_SUBMIT'"/>
  824. </xsl:call-template>
  825. </xsl:when>
  826. <xsl:when test="/root/env/param[@name='xxCustomType'] = '2'">
  827. <xsl:call-template name="getSelectDate">
  828. <xsl:with-param name="promptRange" select="'true'"/>
  829. <xsl:with-param name="promptLocale" select="$promptLocale"/>
  830. <xsl:with-param name="promptFormName" select="$promptFormName"/>
  831. <xsl:with-param name="promptRequired" select="'false'"/>
  832. <xsl:with-param name="promptId" select="'customRange'"/>
  833. <xsl:with-param name="promptStartOfWeek" select="'Sunday'"/>
  834. <xsl:with-param name="promptCalendar" select="'Gregorian'"/>
  835. <xsl:with-param name="promptParameter" select="'parameterRange'"/>
  836. <xsl:with-param name="promptInputOrder" select="'YMD'"/>
  837. <xsl:with-param name="promptDateTime" select="'false'"/>
  838. <xsl:with-param name="promptMultiSelect" select="'false'"/>
  839. <xsl:with-param name="suppressDisabled" select="'true'"/>
  840. <xsl:with-param name="promptSelectUI" select="'editBox'"/>
  841. </xsl:call-template>
  842. </xsl:when>
  843. <xsl:when test="/root/env/param[@name='xxCustomType'] = '3'">
  844. <xsl:call-template name="getSelectTime">
  845. <xsl:with-param name="promptRange" select="'true'"/>
  846. <xsl:with-param name="promptLocale" select="$promptLocale"/>
  847. <xsl:with-param name="promptFormName" select="$promptFormName"/>
  848. <xsl:with-param name="promptRequired" select="'false'"/>
  849. <xsl:with-param name="promptId" select="'customRange'"/>
  850. <xsl:with-param name="promptParameter" select="'parameterRange'"/>
  851. <xsl:with-param name="promptType" select="0"/>
  852. <xsl:with-param name="promptDisplay" select="1"/>
  853. <xsl:with-param name="promptInline" select="'false'"/>
  854. <xsl:with-param name="promptHourFormat" select="'hh'"/>
  855. <xsl:with-param name="promptMinuteFormat" select="'mm'"/>
  856. <xsl:with-param name="promptSecondFormat" select="'ss'"/>
  857. <xsl:with-param name="promptMultiSelect" select="'false'"/>
  858. <xsl:with-param name="suppressDisabled" select="'true'"/>
  859. <xsl:with-param name="promptSelectUI" select="'editBox'"/>
  860. </xsl:call-template>
  861. </xsl:when>
  862. <xsl:when test="/root/env/param[@name='xxCustomType'] = '4'">
  863. <xsl:call-template name="getSelectInterval">
  864. <xsl:with-param name="promptRange" select="'true'"/>
  865. <xsl:with-param name="promptLocale" select="$promptLocale"/>
  866. <xsl:with-param name="promptFormName" select="$promptFormName"/>
  867. <xsl:with-param name="promptRequired" select="'false'"/>
  868. <xsl:with-param name="promptId" select="'customRange'"/>
  869. <xsl:with-param name="promptShowMilliSeconds" select="'true'"/>
  870. <xsl:with-param name="suppressDisabled" select="'true'"/>
  871. <xsl:with-param name="promptShowSeconds" select="'true'"/>
  872. <xsl:with-param name="promptParameter" select="'parameterRange'"/>
  873. </xsl:call-template>
  874. </xsl:when>
  875. <xsl:when test="/root/env/param[@name='xxCustomType'] = '5'">
  876. <xsl:call-template name="getSelectDateTime">
  877. <xsl:with-param name="promptRange" select="'true'"/>
  878. <xsl:with-param name="promptLocale" select="$promptLocale"/>
  879. <xsl:with-param name="promptFormName" select="$promptFormName"/>
  880. <xsl:with-param name="promptRequired" select="'false'"/>
  881. <xsl:with-param name="promptId" select="'customRange'"/>
  882. <xsl:with-param name="promptStartOfWeek" select="'Sunday'"/>
  883. <xsl:with-param name="promptCalendar" select="'Gregorian'"/>
  884. <xsl:with-param name="promptParameter" select="'parameterRange'"/>
  885. <xsl:with-param name="promptInputOrder" select="'YMD'"/>
  886. <xsl:with-param name="promptDateTime" select="'false'"/>
  887. <xsl:with-param name="promptMultiSelect" select="'false'"/>
  888. <xsl:with-param name="suppressDisabled" select="'true'"/>
  889. <xsl:with-param name="promptXSDFormat" select="'false'"/>
  890. <xsl:with-param name="promptSelectUI" select="'editBox'"/>
  891. </xsl:call-template>
  892. </xsl:when>
  893. </xsl:choose>
  894. </td>
  895. </tr>
  896. </table>
  897. </td>
  898. </tr>
  899. </table>
  900. <div style="height:7px;"/>
  901. <table border="0" cellpadding="0" cellspacing="0">
  902. <tr>
  903. <td class="formLabel">
  904. <xts:string id="CUSTOMIZE_VALUES_LABEL_NAME"/>
  905. </td>
  906. </tr>
  907. <tr>
  908. <td>
  909. <input style="width:260px;" type="text" name="calc_label_text">
  910. <xsl:if test="/root/system/param[@name='disableEnterKeyAutoSubmit'] != 'true'">
  911. <xsl:attribute name="onKeyUp">javascript:if (event.keyCode == 13) execute();</xsl:attribute>
  912. </xsl:if>
  913. </input>
  914. </td>
  915. </tr>
  916. </table>
  917. </TD>
  918. </TR>
  919. </TABLE>
  920. <SCRIPT language="javascript" type="text/javascript">
  921. CMultipleRange.prototype.insertWithLabel = CMultipleRange_insertWithLabel;
  922. CMultipleRange.prototype.up = CMultipleRange_up;
  923. CMultipleRange.prototype.down = CMultipleRange_down;
  924. CMultipleRange.prototype.moveUpDown = CMultipleRange_moveUpDown;
  925. CMultipleRange.prototype.removeFromList = CMultipleRange_removeFromList;
  926. var multipleRangeCustomRange = new CMultipleRange(rangecustomRange, document.forms["f"].elements["_oLstChoicescustomRange"], document.forms["f"].elements["p_parameterFromcustomRange"], false, '', document.getElementById("multipleRangeFeedbackcustomRange"), document.getElementById("sizercustomRange"), "CustomRange", null, null);
  927. preProcessControlArray = preProcessControlArray.concat('multipleRangeCustomRange');
  928. </SCRIPT>
  929. </dp:section1>
  930. </lyt:section>
  931. </lyt:layout>
  932. </td>
  933. </tr>
  934. <tr>
  935. <td width="100%" height="0%">
  936. <qsdlg:defaultButtons/>
  937. </td>
  938. </tr>
  939. <!-- <dbg:dumpxml select="/"/> -->
  940. </table>
  941. </form>
  942. </dp:page>
  943. </xsl:template>
  944. </xsl:stylesheet>
  945. </xts:block>
  946. <xts:block id="getAdvancedServerSettings" mode="interpret" processor="XML" type="exec" mandatory="false">
  947. <xts:sequence>
  948. <xts:append>
  949. <configurationVars>
  950. <xts:function name="getConfiguration">
  951. <xts:param name="RSVP.QS.FORCE.CUSTOM.GROUPS.VARCHAR"/>
  952. </xts:function>
  953. </configurationVars>
  954. </xts:append>
  955. </xts:sequence>
  956. </xts:block>
  957. </xts:morphlet>