ppwbpdfpagesettings.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788
  1. // Licensed Materials - Property of IBM
  2. //
  3. // IBM Cognos Products: pps
  4. //
  5. // (C) Copyright IBM Corp. 2005, 2019
  6. //
  7. // US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  8. // This forms the javascript functions used for the PDF Export Options pane of
  9. // PowerPlay Studio.
  10. // The functions handle any minor browser differences.
  11. var COOKIE_PAGE_ORIENTATION = "PageOrientation";
  12. var COOKIE_PAGE_SIZE = "PageSize";
  13. var COOKIE_FRAME_BORDER = "FrameBorder";
  14. var COOKIE_LAYER_DIMENSION = "PDFLayerDimension";
  15. var COOKIE_ADV_OPTS = "PDFOPTS";
  16. var isNSBrowser = navigator.appName.indexOf("Netscape")>=0;
  17. if( navigator.appVersion == "" )
  18. isNSBrowser = false;
  19. var isNSMac = isNSBrowser && navigator.platform.indexOf("Mac") >= 0;
  20. var currentTab = 1;
  21. function setRadioValue(radio, value) {
  22. radio[0].checked = (value == 0);
  23. radio[1].checked = (value == 1);
  24. radio[2].checked = (value == 2);
  25. }
  26. function getAdvanceOpts() {
  27. var opts = "";
  28. var wordWrap = document.pdfForm.wordWrap.checked;
  29. if (wordWrap)
  30. wordWrap = "1";
  31. else
  32. wordWrap = "0";
  33. opts += wordWrap;
  34. var statusBar = document.pdfForm.statusLine.checked;
  35. if (statusBar)
  36. statusBar = "1";
  37. else
  38. statusBar = "0";
  39. opts += statusBar;
  40. var splitViewOnePage = document.pdfForm.PageSplitOnePageCheck.checked;
  41. if (splitViewOnePage)
  42. splitViewOnePage = "1";
  43. else
  44. splitViewOnePage = "0";
  45. opts += splitViewOnePage;
  46. var xtabRowPaginationType = getRadioValue(document.pdfForm.PageXtabRows);
  47. opts += xtabRowPaginationType;
  48. var custNum = document.pdfForm.PageXtabNumRowsCheck.checked;
  49. if (custNum)
  50. custNum = "1";
  51. else
  52. custNum = "0";
  53. opts += custNum;
  54. var nestGroup = document.pdfForm.PageXtabNestGroupRowsCheck.checked;
  55. if (nestGroup)
  56. nestGroup = "1";
  57. else
  58. nestGroup = "0";
  59. opts += nestGroup;
  60. var xtabNumRowItems = document.pdfForm.PageXtabNumRows.value;
  61. opts += "(" + xtabNumRowItems + ")";
  62. var xtabColPaginationType = getRadioValue(document.pdfForm.PageXtabCols);
  63. opts += xtabColPaginationType;
  64. custNum = document.pdfForm.PageXtabNumColsCheck.checked;
  65. if (custNum)
  66. custNum = "1";
  67. else
  68. custNum = "0";
  69. opts += custNum;
  70. nestGroup = document.pdfForm.PageXtabNestGroupColsCheck.checked;
  71. if (nestGroup)
  72. nestGroup = "1";
  73. else
  74. nestGroup = "0";
  75. opts += nestGroup;
  76. var xtabNumColItems = document.pdfForm.PageXtabNumCols.value;
  77. opts += "(" + xtabNumColItems + ")";
  78. var ChartPaginationType = getRadioValue(document.pdfForm.PageChartCategories);
  79. opts += ChartPaginationType;
  80. var chartNumItems = document.pdfForm.PageChartNumCategories.value;
  81. opts += "(" + chartNumItems + ")";
  82. var NestedRowPaginationType = getRadioValue(document.pdfForm.PageNestedRows);
  83. opts += NestedRowPaginationType;
  84. var NestedNumRows = document.pdfForm.PageNestedNumRows.value;
  85. opts += "(" + NestedNumRows + ")";
  86. var NestedColPaginationType = getRadioValue(document.pdfForm.PageNestedCols);
  87. opts += NestedColPaginationType;
  88. var NestedNumCols = document.pdfForm.PageNestedNumCols.value;
  89. opts += "(" + NestedNumCols + ")";
  90. return opts;
  91. }
  92. function setAdvancedOpts(opts) {
  93. var pos = 0;
  94. var wordWrap = (opts.substr(pos++,1) == "1");
  95. var statusBar = (opts.substr(pos++,1) == "1");
  96. var splitOnePage = (opts.substr(pos++,1) == "1");
  97. var xtabRows = parseInt(opts.substr(pos++,1));
  98. var xtabRowsCustNum = (opts.substr(pos++,1) == "1");
  99. var xtabRowsNestGroup = (opts.substr(pos++,1) == "1");
  100. var numLen = opts.substr(pos + 1).indexOf(")");
  101. var xtabNumRows = parseInt(opts.substr(pos + 1,numLen));
  102. pos += numLen + 2;
  103. var xtabCols = parseInt(opts.substr(pos++,1));
  104. var xtabColsCustNum = (opts.substr(pos++,1) == "1");
  105. var xtabColsNestGroup = (opts.substr(pos++,1) == "1");
  106. var numLen = opts.substr(pos + 1).indexOf(")");
  107. var xtabNumCols = parseInt(opts.substr(pos + 1,numLen));
  108. pos += numLen + 2;
  109. var chartPageType = parseInt(opts.substr(pos++,1));
  110. var numLen = opts.substr(pos + 1).indexOf(")");
  111. var chartNumItems = parseInt(opts.substr(pos + 1,numLen));
  112. pos += numLen + 2;
  113. var nestedRows = parseInt(opts.substr(pos++,1));
  114. var numLen = opts.substr(pos + 1).indexOf(")");
  115. var nestedNumRows = parseInt(opts.substr(pos + 1,numLen));
  116. pos += numLen + 2;
  117. var nestedCols = parseInt(opts.substr(pos++,1));
  118. var numLen = opts.substr(pos + 1).indexOf(")");
  119. var nestedNumCols = parseInt(opts.substr(pos + 1,numLen));
  120. pos += numLen + 2;
  121. document.pdfForm.wordWrap.checked = wordWrap;
  122. document.pdfForm.statusLine.checked = statusBar;
  123. document.pdfForm.PageSplitOnePageCheck.checked = splitOnePage;
  124. setRadioValue(document.pdfForm.PageXtabRows,xtabRows);
  125. document.pdfForm.PageXtabNumRowsCheck.checked = xtabRowsCustNum;
  126. document.pdfForm.PageXtabNestGroupRowsCheck.checked = xtabRowsNestGroup;
  127. document.pdfForm.PageXtabNumRows.value = xtabNumRows;
  128. setRadioValue(document.pdfForm.PageXtabCols,xtabCols);
  129. document.pdfForm.PageXtabNumColsCheck.checked = xtabColsCustNum;
  130. document.pdfForm.PageXtabNestGroupColsCheck.checked = xtabColsNestGroup;
  131. document.pdfForm.PageXtabNumCols.value = xtabNumCols;
  132. if (allowChartPagination)
  133. setRadioValue(document.pdfForm.PageChartCategories,chartPageType);
  134. else
  135. setRadioValue(document.pdfForm.PageChartCategories,1);
  136. document.pdfForm.PageChartNumCategories.value = chartNumItems;
  137. setRadioValue(document.pdfForm.PageNestedRows,nestedRows);
  138. document.pdfForm.PageNestedNumRows.value = nestedNumRows;
  139. setRadioValue(document.pdfForm.PageNestedCols,nestedCols);
  140. document.pdfForm.PageNestedNumCols.value = nestedNumCols;
  141. }
  142. function init()
  143. {
  144. if (window.name == "ActionPane") {
  145. topparent.openActionPane();
  146. topparent.setActionPaneHeight("290");
  147. }
  148. if(document.cookie.length == 0 || getCookie(COOKIE_PAGE_ORIENTATION) == undefined)
  149. {
  150. setDefaultSettings();
  151. }
  152. else
  153. {
  154. //get value from cookies
  155. var orientation = getCookie(COOKIE_PAGE_ORIENTATION);
  156. var pageFormat = getCookie(COOKIE_PAGE_SIZE);
  157. var border = getCookie(COOKIE_FRAME_BORDER);
  158. var layerDimension = getCookie(COOKIE_LAYER_DIMENSION);
  159. //display values
  160. if(orientation == "portrait")
  161. {
  162. document.pdfForm.radio_1[0].checked=true;
  163. }
  164. else
  165. {
  166. document.pdfForm.radio_1[1].checked=true;
  167. }
  168. document.pdfForm.pageFormats.value=pageFormat;
  169. document.pdfForm.pageFormats.selectedIndex=pageFormat;
  170. //display frame border values to screen
  171. if(border == "false")
  172. document.pdfForm.frameBorder.checked=false;
  173. else
  174. document.pdfForm.frameBorder.checked=true;
  175. if (layerDimension == "true") {
  176. if (window.name == "ActionPane") //Only for new UI
  177. document.pdfForm.pdfLayersSelect.disabled = false;
  178. document.pdfForm.pdfLayersCheck.checked = true;
  179. } else {
  180. if (window.name == "ActionPane") //Only for new UI
  181. document.pdfForm.pdfLayersSelect.disabled = true;
  182. document.pdfForm.pdfLayersCheck.checked = false;
  183. }
  184. if (getCookie(COOKIE_ADV_OPTS) != undefined) {
  185. setAdvancedOpts(getCookie(COOKIE_ADV_OPTS));
  186. } else {
  187. if(document.pdfForm.wordWrap)
  188. document.pdfForm.wordWrap.checked = (wordwrap == 1);
  189. if(document.pdfForm.statusLine)
  190. document.pdfForm.statusLine.checked = (statusline == 1);
  191. if(document.pdfForm.PageSplitOnePageCheck)
  192. document.pdfForm.PageSplitOnePageCheck.checked = (splitViewOnePage == 1);
  193. if(document.pdfForm.PageXtabRows)
  194. setRadioValue(document.pdfForm.PageXtabRows,xtabPageRow);
  195. if(document.pdfForm.PageXtabNumRowsCheck)
  196. document.pdfForm.PageXtabNumRowsCheck.checked = (xtabRowBreakNumItems == 1);
  197. if(document.pdfForm.PageXtabNestGroupRowsCheck)
  198. document.pdfForm.PageXtabNestGroupRowsCheck.checked = (xtabRowBreakNestGroup == 1);
  199. if(document.pdfForm.PageXtabNumRows)
  200. document.pdfForm.PageXtabNumRows.value = xtabPageRowNum;
  201. if(document.pdfForm.PageXtabCols)
  202. setRadioValue(document.pdfForm.PageXtabCols,xtabPageCol);
  203. if(document.pdfForm.PageXtabNumColsCheck)
  204. document.pdfForm.PageXtabNumColsCheck.checked = (xtabColBreakNumItems == 1);
  205. if(document.pdfForm.PageXtabNestGroupColsCheck)
  206. document.pdfForm.PageXtabNestGroupColsCheck.checked = (xtabColBreakNestGroup == 1);
  207. if(document.pdfForm.PageXtabNumCols)
  208. document.pdfForm.PageXtabNumCols.value = xtabPageColNum;
  209. if(document.pdfForm.PageChartCategories)
  210. {
  211. if (allowChartPagination)
  212. setRadioValue(document.pdfForm.PageChartCategories,chartPage);
  213. else
  214. setRadioValue(document.pdfForm.PageChartCategories,1);
  215. }
  216. if(document.pdfForm.PageChartNumCategories)
  217. document.pdfForm.PageChartNumCategories.value = xtabPageColNum;
  218. if(document.pdfForm.PageNestedRows)
  219. setRadioValue(document.pdfForm.PageNestedRows,nestedPageRow);
  220. if(document.pdfForm.PageNestedNumRows)
  221. document.pdfForm.PageNestedNumRows.value = nestedPageRowNum;
  222. if(document.pdfForm.PageNestedCols)
  223. setRadioValue(document.pdfForm.PageNestedCols,nestedPageCol);
  224. if(document.pdfForm.PageNestedNumCols)
  225. document.pdfForm.PageNestedNumCols.value = nestedPageColNum;
  226. }
  227. }
  228. }
  229. function switchTab(event) {
  230. var eventM = new eventManager(event);
  231. eventM.cancelBubble();
  232. var newTab = eventM.getSrc();
  233. var newTabNo = newTab.getAttribute("number");
  234. switchToTab(newTabNo);
  235. }
  236. function switchToTab(newTabNo) {
  237. if (currentTab != newTabNo) {
  238. var newTab = document.getElementById("tab" + newTabNo);
  239. var oldTab = document.getElementById("tab" + currentTab);
  240. oldTab.className = "ActionPaneTab";
  241. newTab.className = "ActionPaneSelectedTab";
  242. var oldTabBody = document.getElementById("tab_body" + currentTab);
  243. oldTabBody.className = "ActionPaneTabBody";
  244. var newTabBody = document.getElementById("tab_body" + newTabNo);
  245. newTabBody.className = "ActionPaneSelectedTabBody";
  246. currentTab = newTabNo;
  247. }
  248. }
  249. function changePaginationType(event) {
  250. var eventM = new eventManager(event);
  251. eventM.cancelBubble();
  252. select = eventM.getSrc();
  253. for (var i = 1; i <= 4; i++) {
  254. var theId = "PaginateOptionsContainer" + i;
  255. if ((select.selectedIndex + 1) == i)
  256. document.getElementById(theId).className = "ActionPaneSelectedTabBody";
  257. else
  258. document.getElementById(theId).className = "ActionPaneTabBody";
  259. }
  260. }
  261. function setDefaultSettings(){
  262. //change values on screen
  263. if(displayFrameBorder == 1)
  264. document.pdfForm.frameBorder.checked=true;
  265. else
  266. document.pdfForm.frameBorder.checked=false;
  267. if(paperOrientation == 1) //landscape
  268. {
  269. document.pdfForm.radio_1[1].checked=true;
  270. }
  271. else
  272. {
  273. document.pdfForm.radio_1[0].checked=true;
  274. }
  275. document.pdfForm.pageFormats.value=paperSize;
  276. document.pdfForm.pageFormats.selectedIndex=paperSize;
  277. if (document.pdfForm.pdfLayersCheck) {
  278. if ( pdfLayersChecked == 1) {
  279. document.pdfForm.pdfLayersCheck.checked = true;
  280. if (window.name == "ActionPane") //Only for new UI
  281. document.pdfForm.pdfLayersSelect.disabled = false;
  282. } else {
  283. document.pdfForm.pdfLayersCheck.checked = false;
  284. document.pdfForm.pdfLayersSelect.selectedIndex = 0;
  285. if (window.name == "ActionPane") //Only for new UI
  286. document.pdfForm.pdfLayersSelect.disabled = true;
  287. }
  288. }
  289. if (document.pdfForm.wordWrap) {
  290. if (wordwrap == 1)
  291. document.pdfForm.wordWrap.checked = true;
  292. else
  293. document.pdfForm.wordWrap.checked = false;
  294. }
  295. if (document.pdfForm.statusLine) {
  296. if (statusline == 1)
  297. document.pdfForm.statusLine.checked = true;
  298. else
  299. document.pdfForm.statusLine.checked = false;
  300. }
  301. if (document.pdfForm.PageSplitOnePageCheck) {
  302. if (splitViewOnePage == 1)
  303. document.pdfForm.PageSplitOnePageCheck.checked = true;
  304. else
  305. document.pdfForm.PageSplitOnePageCheck.checked = false;
  306. }
  307. if (document.pdfForm.PageXtabRows) {
  308. setRadioValue(document.pdfForm.PageXtabRows,xtabPageRow);
  309. }
  310. if (document.pdfForm.PageXtabNumRowsCheck) {
  311. if (xtabRowBreakNumItems == 1)
  312. document.pdfForm.PageXtabNumRowsCheck.checked = true;
  313. else
  314. document.pdfForm.PageXtabNumRowsCheck.checked = false;
  315. }
  316. if (document.pdfForm.PageXtabNestGroupRowsCheck) {
  317. if (xtabRowBreakNestGroup == 1)
  318. document.pdfForm.PageXtabNestGroupRowsCheck.checked = true;
  319. else
  320. document.pdfForm.PageXtabNestGroupRowsCheck.checked = false;
  321. }
  322. if (document.pdfForm.PageXtabNumRows) {
  323. document.pdfForm.PageXtabNumRows.value = xtabPageRowNum;
  324. }
  325. if (document.pdfForm.PageXtabCols) {
  326. setRadioValue(document.pdfForm.PageXtabCols,xtabPageCol);
  327. }
  328. if (document.pdfForm.PageXtabNumColsCheck) {
  329. if (xtabColBreakNumItems == 1)
  330. document.pdfForm.PageXtabNumColsCheck.checked = true;
  331. else
  332. document.pdfForm.PageXtabNumColsCheck.checked =false;
  333. }
  334. if (document.pdfForm.PageXtabNestGroupColsCheck) {
  335. if (xtabColBreakNestGroup == 1)
  336. document.pdfForm.PageXtabNestGroupColsCheck.checked = true;
  337. else
  338. document.pdfForm.PageXtabNestGroupColsCheck.checked = false;
  339. }
  340. if (document.pdfForm.PageXtabNumCols) {
  341. document.pdfForm.PageXtabNumCols.value = xtabPageColNum;
  342. }
  343. if (document.pdfForm.PageChartCategories) {
  344. if (allowChartPagination)
  345. setRadioValue(document.pdfForm.PageChartCategories,chartPage);
  346. else
  347. setRadioValue(document.pdfForm.PageChartCategories,1);
  348. }
  349. if (document.pdfForm.PageChartNumCategories) {
  350. document.pdfForm.PageChartNumCategories.value = chartPageNum;
  351. }
  352. if (document.pdfForm.PageNestedRows) {
  353. setRadioValue(document.pdfForm.PageNestedRows,nestedPageRow);
  354. }
  355. if (document.pdfForm.PageNestedNumRows) {
  356. document.pdfForm.PageNestedNumRows.value = nestedPageRowNum;
  357. }
  358. if (document.pdfForm.PageNestedCols) {
  359. setRadioValue(document.pdfForm.PageNestedCols,nestedPageCol);
  360. }
  361. if (document.pdfForm.PageNestedNumCols) {
  362. document.pdfForm.PageNestedNumCols.value = nestedPageColNum;
  363. }
  364. return;
  365. }
  366. function submitReset()
  367. {
  368. setDefaultSettings();
  369. }
  370. function submitExportIcon(winFX)
  371. {
  372. //get value from cookies
  373. var orientation = getCookie(COOKIE_PAGE_ORIENTATION);
  374. var pageFormat = getCookie(COOKIE_PAGE_SIZE);
  375. var frameBorder = getCookie(COOKIE_FRAME_BORDER);
  376. if(orientation == "portrait")
  377. orientation=0; //portrait
  378. else
  379. orientation=1; //landscape
  380. if(frameBorder == "true")
  381. frameBorder = 1;
  382. else
  383. frameBorder = 0;
  384. var command = 'GE:"' + orientation + frameBorder + pageFormat + '"';
  385. if (getCookie(COOKIE_ADV_OPTS) != undefined) {
  386. command += "\t-1\t";
  387. var opts = getCookie(COOKIE_ADV_OPTS);
  388. var pos = 0;
  389. var wordWrap = (opts.substr(pos++,1) == "1");
  390. var statusBar = (opts.substr(pos++,1) == "1");
  391. var splitOnePage = (opts.substr(pos++,1) == "1");
  392. var xtabRows = parseInt(opts.substr(pos++,1));
  393. var xtabRowsCustNum = (opts.substr(pos++,1) == "1");
  394. var xtabRowsNestGroup = (opts.substr(pos++,1) == "1");
  395. var numLen = opts.substr(pos + 1).indexOf(")");
  396. var xtabNumRows = parseInt(opts.substr(pos + 1,numLen));
  397. pos += numLen + 2;
  398. var xtabCols = parseInt(opts.substr(pos++,1));
  399. var xtabColsCustNum = (opts.substr(pos++,1) == "1");
  400. var xtabColsNestGroup = (opts.substr(pos++,1) == "1");
  401. var numLen = opts.substr(pos + 1).indexOf(")");
  402. var xtabNumCols = parseInt(opts.substr(pos + 1,numLen));
  403. pos += numLen + 2;
  404. var chartPageType = parseInt(opts.substr(pos++,1));
  405. var numLen = opts.substr(pos + 1).indexOf(")");
  406. var chartNumItems = parseInt(opts.substr(pos + 1,numLen));
  407. pos += numLen + 2;
  408. var nestedRows = parseInt(opts.substr(pos++,1));
  409. var numLen = opts.substr(pos + 1).indexOf(")");
  410. var nestedNumRows = parseInt(opts.substr(pos + 1,numLen));
  411. pos += numLen + 2;
  412. var nestedCols = parseInt(opts.substr(pos++,1));
  413. var numLen = opts.substr(pos + 1).indexOf(")");
  414. var nestedNumCols = parseInt(opts.substr(pos + 1,numLen));
  415. pos += numLen + 2;
  416. if (wordWrap == "false")
  417. wordWrap = 0;
  418. else
  419. wordWrap = 1;
  420. if (statusBar == "false")
  421. statusBar = 0;
  422. else
  423. statusBar = 1;
  424. if (splitOnePage == "false")
  425. splitOnePage = 0;
  426. else
  427. splitOnePage = 1;
  428. if (xtabRowsCustNum == "false")
  429. xtabRowsCustNum = 0;
  430. else
  431. xtabRowsCustNum = 1;
  432. if (xtabRowsNestGroup == "false")
  433. xtabRowsNestGroup = 0;
  434. else
  435. xtabRowsNestGroup = 1;
  436. if (xtabColsCustNum == "false")
  437. xtabColsCustNum = 0;
  438. else
  439. xtabColsCustNum = 1;
  440. if (xtabColsNestGroup == "false")
  441. xtabColsNestGroup = 0;
  442. else
  443. xtabColsNestGroup = 1;
  444. command += '"' + wordWrap + statusBar + splitOnePage + '"';
  445. command += "\t" + '"' + xtabRows + xtabRowsCustNum + xtabRowsNestGroup + ":" + xtabNumRows + '"';
  446. command += "\t" + '"' + xtabCols + xtabColsCustNum + xtabColsNestGroup + ":" + xtabNumCols + '"';
  447. command += "\t" + '"' + chartPageType + "10:" + chartNumItems + '"';
  448. command += "\t" + '"' + nestedRows + "10:" + nestedNumRows + '"';
  449. command += "\t" + '"' + nestedCols + "10:" + nestedNumCols + '"';
  450. }
  451. winFX.doit(command);
  452. return;
  453. }
  454. function verifyRowChecks(num) {
  455. if (!document.pdfForm.PageXtabNumRowsCheck.checked && !document.pdfForm.PageXtabNestGroupRowsCheck.checked) {
  456. if (num == 0)
  457. document.pdfForm.PageXtabNumRowsCheck.checked = true;
  458. else
  459. document.pdfForm.PageXtabNestGroupRowsCheck.checked = true;
  460. }
  461. }
  462. function verifyColChecks(num) {
  463. if (!document.pdfForm.PageXtabNumColsCheck.checked && !document.pdfForm.PageXtabNestGroupColsCheck.checked) {
  464. if (num == 0)
  465. document.pdfForm.PageXtabNumColsCheck.checked = true;
  466. else
  467. document.pdfForm.PageXtabNestGroupColsCheck.checked = true;
  468. }
  469. }
  470. function submitExportDialog()
  471. {
  472. var command = Apply(command, false);
  473. command = 'GE:' + command;
  474. //set targets
  475. var target = eval(pdfTarget);
  476. var fh = target.document.fhidden;
  477. var gparent = target.getGrandParentofFXWindow();
  478. if (gparent.name == "undefined" || gparent.name == "")
  479. gparent.name = "PPESTargetFrame";
  480. fh.target = gparent.name;
  481. FTok=false;
  482. if ( !target._fhchanged )
  483. {
  484. target._fhchanged = true;
  485. target._fhtarget = fh.target;
  486. target._fhaction = fh.action;
  487. target._fhRA = fh.RA.value;
  488. }
  489. // Clear existing MIME type
  490. fh.action = fh.action.replace(/\?MIME=.CSV|\?MIME=.XLSX|\?MIME=.XLS|\?MIME=.PDF/gi, '');
  491. fh.action += "?MIME=.PDF";
  492. target.doit(command);
  493. return;
  494. }
  495. function submitApply()
  496. {
  497. var command = Apply(command, true);
  498. command = 'GA:' + command;
  499. var target = eval(pdfTarget);
  500. target.doit(command);
  501. }
  502. function setRadioValue(radio, value) {
  503. radio[0].checked = (value == 0);
  504. radio[1].checked = (value == 1);
  505. radio[2].checked = (value == 2);
  506. }
  507. function getRadioValue(radio) {
  508. var value = 0;
  509. if (radio[1].checked)
  510. value = 1;
  511. else if (radio[2].checked)
  512. value = 2;
  513. return value;
  514. }
  515. function Apply(command, setCookies) {
  516. var cookieSecure = getCookieSecure();
  517. var orientation = document.pdfForm.radio_1[0].checked;
  518. if(orientation != undefined)
  519. {
  520. if(orientation == true)
  521. {
  522. if (setCookies)
  523. setCookie(COOKIE_PAGE_ORIENTATION,"portrait",undefined,cookieSecure);
  524. orientation = 0;
  525. }
  526. else
  527. {
  528. if (setCookies)
  529. setCookie(COOKIE_PAGE_ORIENTATION,"landscape",undefined,cookieSecure);
  530. orientation = 1;
  531. }
  532. }
  533. var pageFormat = document.pdfForm.pageFormats.value;
  534. if(pageFormat == null)
  535. pageFormat = document.pdfForm.pageFormats.selectedIndex;
  536. if (setCookies)
  537. setCookie(COOKIE_PAGE_SIZE,pageFormat,undefined,cookieSecure);
  538. var frameBorder = document.pdfForm.frameBorder.checked;
  539. if (setCookies)
  540. setCookie(COOKIE_FRAME_BORDER,frameBorder,undefined,cookieSecure);
  541. if(frameBorder)
  542. frameBorder = 1;
  543. else
  544. frameBorder = 0;
  545. if (setCookies)
  546. if (document.pdfForm.pdfLayersCheck.checked) {
  547. setCookie(COOKIE_LAYER_DIMENSION,"true",undefined,cookieSecure);
  548. } else {
  549. setCookie(COOKIE_LAYER_DIMENSION,"false",undefined,cookieSecure);
  550. }
  551. var command = '"'+ orientation + frameBorder + pageFormat +'"';
  552. if (document.pdfForm.pdfLayersCheck.checked)
  553. command += "\t" + document.pdfForm.pdfLayersSelect.selectedIndex;
  554. else
  555. command += "\t-1";
  556. if (document.pdfForm.PageXtabRows) {
  557. //Enhanced UI, we have more options to send
  558. if (setCookies)
  559. setCookie(COOKIE_ADV_OPTS,getAdvanceOpts(),undefined,cookieSecure);
  560. var wordWrap = document.pdfForm.wordWrap.checked;
  561. if (wordWrap)
  562. wordWrap = 1;
  563. else
  564. wordWrap = 0;
  565. var statusBar = document.pdfForm.statusLine.checked;
  566. if (statusBar)
  567. statusBar = 1;
  568. else
  569. statusBar = 0;
  570. var splitViewOnePage = document.pdfForm.PageSplitOnePageCheck.checked;
  571. if (splitViewOnePage)
  572. splitViewOnePage = 1;
  573. else
  574. splitViewOnePage = 0;
  575. command += "\t" + '"' + wordWrap + statusBar + splitViewOnePage + '"';
  576. var xtabRowPaginationType = getRadioValue(document.pdfForm.PageXtabRows);
  577. var custNum = document.pdfForm.PageXtabNumRowsCheck.checked;
  578. if (custNum)
  579. custNum = 1;
  580. else
  581. custNum = 0;
  582. var nestGroup = document.pdfForm.PageXtabNestGroupRowsCheck.checked;
  583. if (nestGroup)
  584. nestGroup = 1;
  585. else
  586. nestGroup = 0;
  587. var xtabNumRowItems = document.pdfForm.PageXtabNumRows.value;
  588. command += "\t" + '"' + xtabRowPaginationType + custNum + nestGroup + ":" + xtabNumRowItems + '"';
  589. var xtabColPaginationType = getRadioValue(document.pdfForm.PageXtabCols);
  590. custNum = document.pdfForm.PageXtabNumColsCheck.checked;
  591. if (custNum)
  592. custNum = 1;
  593. else
  594. custNum = 0;
  595. nestGroup = document.pdfForm.PageXtabNestGroupColsCheck.checked;
  596. if (nestGroup)
  597. nestGroup = 1;
  598. else
  599. nestGroup = 0;
  600. var xtabNumColItems = document.pdfForm.PageXtabNumCols.value;
  601. command += "\t" + '"' + xtabColPaginationType + custNum + nestGroup + ":" + xtabNumColItems + '"';
  602. var ChartPaginationType = getRadioValue(document.pdfForm.PageChartCategories);
  603. var chartNumItems = document.pdfForm.PageChartNumCategories.value;
  604. command += "\t" + '"' + ChartPaginationType + "10:" + chartNumItems + '"';
  605. var NestedRowPaginationType = getRadioValue(document.pdfForm.PageNestedRows);
  606. var NestedNumRows = document.pdfForm.PageNestedNumRows.value;
  607. command += "\t" + '"' + NestedRowPaginationType + "10:" + NestedNumRows + '"';
  608. var NestedColPaginationType = getRadioValue(document.pdfForm.PageNestedCols);
  609. var NestedNumCols = document.pdfForm.PageNestedNumCols.value;
  610. command += "\t" + '"' + NestedColPaginationType + "10:" + NestedNumCols + '"';
  611. }
  612. return command;
  613. }
  614. function onPdfLayersCheckClick() {
  615. var select = document.getElementById("pdfLayersSelect");
  616. select.disabled = !(document.getElementById("pdfLayersCheck").checked);
  617. }
  618. function getCookieSecure() {
  619. if (window.name == "ActionPane") { //Only for new UI
  620. return topparent.getGlobal("cookieSecure");
  621. } else {
  622. if(cookieSecure == 1) {
  623. return true;
  624. } else {
  625. return false;
  626. }
  627. }
  628. }