jobOptions.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476
  1. // Licensed Materials - Property of IBM
  2. //
  3. // IBM Cognos Products: ps
  4. //
  5. // (C) Copyright IBM Corp. 2005, 2011
  6. //
  7. // US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  8. // Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
  9. // Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
  10. // initialize the job options dialog
  11. function initJobOptions(IsIndexUpdateServiceInstalled) {
  12. if (document.pform.controller_state) {
  13. document.pform.controller_state.value = '';
  14. }
  15. updateReportOptionSection();
  16. updateReportOptionsSummary();
  17. updateDeploymentOptionsSummary();
  18. if (IsIndexUpdateServiceInstalled == 'true') {
  19. updateIndexUpdateTaskOptionSection();
  20. }
  21. }
  22. // user has clicked the OK button on the jobOptions dialog
  23. function onClickOKJobOptions() {
  24. var frm = document.pform;
  25. if (frm.override_default_options.checked) {
  26. if (!validateRunOptions()) {
  27. return;
  28. }
  29. }
  30. if (frm.m_new_class && frm.m_new_class.value != '') {
  31. frm.m.value = 'portal/new_job2.xts';
  32. }
  33. else {
  34. frm.m.value = 'portal/properties_job.xts';
  35. }
  36. frm.ps_nav_op.value = 'stack-down-save';
  37. frm.userHitOK.value = 'true';
  38. frm.submit();
  39. }
  40. // user clicked on the expand/collapse icon for report options
  41. function clickReportOptionSection() {
  42. document.pform.report_options_collapsed.value = (document.pform.report_options_collapsed.value == 'false') ? 'true' : 'false';
  43. updateReportOptionSection();
  44. updateReportOptionsSummary();
  45. }
  46. // make sure the report options section is in a valid state
  47. function updateReportOptionSection() {
  48. frm = document.pform;
  49. var cacheSetting = 'none';
  50. if (document.pform.m_ro_promptCacheMode) {
  51. cacheSetting = document.pform.m_ro_promptCacheMode.value;
  52. }
  53. // report options is expanded
  54. if (frm.report_options_collapsed.value == 'false') {
  55. hideDynamicDiv('collapsedReportOptions');
  56. showDynamicSection('expandedReportOptions');
  57. if (document.pform.override_default_options.checked) {
  58. // show the cache options div
  59. showDynamicDiv('savePromptCacheDiv');
  60. if (cacheSetting == 'create') {
  61. showDiv('overrideCacheOptionsDiv');
  62. }
  63. else {
  64. showDiv('overrideOptionsDiv');
  65. }
  66. }
  67. else
  68. {
  69. // hide the cache options div
  70. hideDynamicDiv('savePromptCacheDiv');
  71. if (cacheSetting == 'create') {
  72. showDiv('defaultOptionsCacheMode');
  73. }
  74. else {
  75. showDiv('defaultOptions');
  76. }
  77. }
  78. }
  79. // report options are collapsed
  80. else {
  81. showDynamicDiv('collapsedReportOptions');
  82. hideDynamicSection('expandedReportOptions');
  83. if (cacheSetting == 'create') {
  84. showDiv('defaultOptionsCacheMode');
  85. }
  86. else {
  87. showDiv('defaultOptions');
  88. }
  89. }
  90. }
  91. // handles the logic to only show one of the divs
  92. function showDiv(divID) {
  93. if (divID == 'overrideCacheOptionsDiv') {
  94. showDynamicDiv('overrideCacheOptionsDiv');
  95. }
  96. else {
  97. hideDynamicDiv('overrideCacheOptionsDiv');
  98. }
  99. if (divID == 'overrideOptionsDiv') {
  100. showDynamicDiv('overrideOptionsDiv');
  101. }
  102. else {
  103. hideDynamicDiv('overrideOptionsDiv');
  104. }
  105. if (divID == 'defaultOptions') {
  106. showDynamicDiv('defaultOptions');
  107. }
  108. else {
  109. hideDynamicDiv('defaultOptions');
  110. }
  111. if (divID == 'defaultOptionsCacheMode') {
  112. showDynamicDiv('defaultOptionsCacheMode');
  113. }
  114. else {
  115. hideDynamicDiv('defaultOptionsCacheMode');
  116. }
  117. }
  118. // when the user toggles the override checked for the run options
  119. function toggleCheckbox() {
  120. frm = document.pform;
  121. var cacheSetting = 'none';
  122. if (document.pform.m_ro_promptCacheMode) {
  123. cacheSetting = document.pform.m_ro_promptCacheMode.value;
  124. }
  125. toggledynamicDiv('savePromptCacheDiv');
  126. if (cacheSetting == 'create') {
  127. toggledynamicDiv('defaultOptionsCacheMode');
  128. toggledynamicDiv('overrideCacheOptionsDiv');
  129. }
  130. else {
  131. toggledynamicDiv('defaultOptions');
  132. toggledynamicDiv('overrideOptionsDiv');
  133. }
  134. }
  135. // expend collapse the deploy options
  136. function clickDeploymentOptionSection() {
  137. document.pform.deployment_options_collapsed.value = (document.pform.deployment_options_collapsed.value == 'false') ? 'true' : 'false';
  138. updateDeploymentOptionSection();
  139. updateDeploymentOptionsSummary();
  140. }
  141. // make sure the deploy options section is in a valid state
  142. function updateDeploymentOptionSection() {
  143. var frm = document.pform;
  144. // make sure the divs exist. They won't if user does not have $hasCSTCapability
  145. if (document.getElementById('collapsedDeploymentOptions') && document.getElementById('expandedDeploymentOptions') && document.getElementById('overrideDeploymentOptionsDiv') && document.getElementById('defaultDeploymentOptionsDiv')) {
  146. if (frm.deployment_options_collapsed.value == 'false') {
  147. hideDynamicDiv('collapsedDeploymentOptions');
  148. showDynamicSection('expandedDeploymentOptions');
  149. if (frm.override_default_deployment_options.checked) {
  150. showDynamicDiv('overrideDeploymentOptionsDiv');
  151. hideDynamicDiv('defaultDeploymentOptionsDiv');
  152. }
  153. else {
  154. hideDynamicDiv('overrideDeploymentOptionsDiv');
  155. showDynamicDiv('defaultDeploymentOptionsDiv');
  156. }
  157. }
  158. else {
  159. showDynamicDiv('collapsedDeploymentOptions');
  160. hideDynamicSection('expandedDeploymentOptions');
  161. }
  162. }
  163. }
  164. // update the deployment options summary used when the deploy section is collapsed.
  165. function updateDeploymentOptionsSummary() {
  166. var frm = document.pform;
  167. // make sure the divs exist. They won't if user does not have $hasCSTCapability
  168. if (document.getElementById('collapsedDeploymentOptions') && document.getElementById('expandedDeploymentOptions') && document.getElementById('overrideDeploymentOptionsDiv') && document.getElementById('defaultDeploymentOptionsDiv')) {
  169. // only update the summaryText if the section collapsed
  170. if (frm.deployment_options_collapsed.value == 'false') {
  171. return;
  172. }
  173. if (!frm.override_default_deployment_options.checked) {
  174. document.getElementById('deploymentOptionSummary').innerHTML = g_jobOptions_msg_array['IDS_PROP_JOB_NO_DEFAULT_SET'];;
  175. return;
  176. }
  177. var summaryText = '';
  178. if (frm.deploymentro_upgrade) {
  179. for(var i=0; frm.deploymentro_upgrade.length > i; i++) {
  180. if (frm.deploymentro_upgrade[i].value=='upgrade' && frm.deploymentro_upgrade[i].checked) {
  181. summaryText = g_jobOptions_msg_array['IDS_DEPLOYMENT_SELECT_UPGRADE_RADIO_UPGRADE'];
  182. }
  183. if (frm.deploymentro_upgrade[i].value=='keep' && frm.deploymentro_upgrade[i].checked) {
  184. summaryText = g_jobOptions_msg_array['IDS_DEPLOYMENT_SELECT_UPGRADE_RADIO_KEEP'];
  185. }
  186. }
  187. }
  188. if (frm.deploymentro_preserveStoreIDs) {
  189. for(var i=0; frm.deploymentro_preserveStoreIDs.length > i; i++) {
  190. if (frm.deploymentro_preserveStoreIDs[i].value=='true' && frm.deploymentro_preserveStoreIDs[i].checked) {
  191. summaryText = summaryText + g_jobOptions_msg_array['IDS_DEPLOYMENT_OPTIONS_INCLUDE_PRESERVE_STOREIDS'];
  192. }
  193. if (frm.deploymentro_preserveStoreIDs[i].value=='false' && frm.deploymentro_preserveStoreIDs[i].checked) {
  194. summaryText = summaryText + g_jobOptions_msg_array['IDS_DEPLOYMENT_OPTIONS_DO_NOT_INCLUDE_PRESERVE_STOREIDS'];
  195. }
  196. }
  197. }
  198. if (summaryText == '') {
  199. summaryText = g_jobOptions_msg_array['IDS_PROP_JOB_NO_DEFAULT_SET'];
  200. }
  201. document.getElementById('deploymentOptionSummary').innerHTML = summaryText;
  202. }
  203. }
  204. // Index Update section
  205. function clickIndexUpdateTaskOptionSection() {
  206. if (!document.pform.index_update_task_options_collapsed) {
  207. return;
  208. }
  209. document.pform.index_update_task_options_collapsed.value = (document.pform.index_update_task_options_collapsed.value == 'false') ? 'true' : 'false';
  210. updateIndexUpdateTaskOptionSection();
  211. updateIndexUpdateTaskOptionSummary();
  212. }
  213. function updateIndexUpdateTaskOptionSection() {
  214. frm = document.pform;
  215. if (frm.index_update_task_options_collapsed.value == 'false') {
  216. hideDynamicDiv('collapsedIndexUpdateTaskOptions');
  217. showDynamicSection('expandedIndexUpdateTaskOptions');
  218. if (document.pform.override_default_index_update_task_options.checked) {
  219. showDynamicDiv('overrideIndexUpdateTaskOptionsDiv');
  220. hideDynamicDiv('defaultIndexUpdateTaskOptionsDiv');
  221. }
  222. else {
  223. hideDynamicDiv('overrideIndexUpdateTaskOptionsDiv');
  224. showDynamicDiv('defaultIndexUpdateTaskOptionsDiv');
  225. }
  226. }
  227. else {
  228. showDynamicDiv('collapsedIndexUpdateTaskOptions');
  229. hideDynamicSection('expandedIndexUpdateTaskOptions');
  230. }
  231. }
  232. function updateIndexUpdateTaskOptionSummary() {
  233. frm = document.pform;
  234. // only update the summaryText if the section collapsed
  235. if (frm.index_update_task_options_collapsed.value == 'false')
  236. return;
  237. if (!frm.override_default_index_update_task_options.checked) {
  238. document.getElementById('indexUpdateTaskOptionSummary').innerHTML = g_jobOptions_msg_array['IDS_PROP_JOB_NO_DEFAULT_SET'];
  239. return;
  240. }
  241. var summaryText = '';
  242. if (frm.m_io_force) {
  243. for(var i=0; frm.m_io_force.length > i; i++) {
  244. if (document.pform.m_io_force[i].value=='false' && document.pform.m_io_force[i].checked) {
  245. summaryText = g_jobOptions_msg_array['IDS_INDEX_UPDATE_FORCE_OPTION_CHANGED_ENTRIES'];
  246. }
  247. if (document.pform.m_io_force[i].value=='true' && document.pform.m_io_force[i].checked) {
  248. summaryText = g_jobOptions_msg_array['IDS_INDEX_UPDATE_FORCE_OPTION_ALL_ENTRIES'];
  249. }
  250. }
  251. }
  252. if (summaryText == '') {
  253. summaryText = g_jobOptions_msg_array['IDS_PROP_JOB_NO_DEFAULT_SET'];
  254. }
  255. document.getElementById('indexUpdateTaskOptionSummary').innerHTML = summaryText;
  256. }
  257. // update the summary for the report options. Only needed when the report options section is collapsed
  258. function updateReportOptionsSummary() {
  259. frm = document.pform;
  260. // only update the summaryText if the section collapsed
  261. if (frm.report_options_collapsed.value == 'false') {
  262. return;
  263. }
  264. if (!frm.override_default_options.checked) {
  265. document.getElementById('reportOptionSummary').innerHTML = g_jobOptions_msg_array['IDS_PROP_JOB_NO_DEFAULT_SET'];
  266. return;
  267. }
  268. var summaryText = '';
  269. var needDelimiter = true;
  270. if (document.pform.m_ro_promptCacheMode) {
  271. var cacheSetting = document.pform.m_ro_promptCacheMode.value;
  272. }
  273. else
  274. {
  275. var cacheSetting = 'none';
  276. }
  277. var listSeparator = g_jobOptions_msg_array['IDS_LIST_SEPARATOR'];
  278. if (cacheSetting == 'create') {
  279. summaryText += g_jobOptions_msg_array['IDS_STEP_RUN_REFRESH_REPORT_CACHE'];
  280. }
  281. else {
  282. summaryText += g_jobOptions_msg_array['IDS_STEP_RUN_PRODUCE_OUTPUTS'];
  283. // build up the format summary
  284. // HTML
  285. if (frm.m_ro_outputF_HTML_Type && frm.m_ro_outputF_HTML_Type.checked) {
  286. for (var i=0; i < frm.m_ro_outputFormat_HTML.length; i++) {
  287. if (frm.m_ro_outputFormat_HTML[i].selected) {
  288. if (needDelimiter == true) {
  289. summaryText += listSeparator + ' ';
  290. }
  291. summaryText += frm.m_ro_outputFormat_HTML[i].text;
  292. if (frm.m_ro_outputFormat_HTML[i].value == 'HTML' && frm.m_ro_selectionBasedFeatures && frm.m_ro_selectionBasedFeatures.checked) {
  293. summaryText += ' (' + g_jobOptions_msg_array['IDS_OTHERRUN_ENABLE_INTERACTIVITY'] + ')';
  294. }
  295. needDelimiter = true;
  296. }
  297. }
  298. }
  299. // PDF
  300. // PDF format may be disabled in system.xml
  301. if (frm.m_ro_outputFormat_PDF && frm.m_ro_outputFormat_PDF.checked) {
  302. if (needDelimiter == true) {
  303. summaryText += listSeparator + ' ';
  304. }
  305. summaryText += g_jobOptions_msg_array['IDS_OTHERRUN_FORMAT_PDF'];
  306. if (document.getElementById('g_PDFOptionSummary') && g_PDFOptionSummary != '') {
  307. summaryText += ' (' + g_PDFOptionSummary + ')';
  308. }
  309. needDelimiter = true;
  310. }
  311. // Excel 2000
  312. if (frm.m_ro_outputF_XLS2000_Type && frm.m_ro_outputF_XLS2000_Type.checked) {
  313. for (var i=0; i < frm.m_ro_outputFormat_XLS2000.length; i++) {
  314. if (frm.m_ro_outputFormat_XLS2000[i].selected) {
  315. if (needDelimiter == true) {
  316. summaryText += listSeparator + ' ';
  317. }
  318. summaryText += frm.m_ro_outputFormat_XLS2000[i].text;
  319. }
  320. }
  321. needDelimiter = true;
  322. }
  323. // Excel 2002
  324. if (frm.m_ro_outputFormat_XLWA && frm.m_ro_outputFormat_XLWA.checked) {
  325. if (needDelimiter == true) {
  326. summaryText += listSeparator + ' ';
  327. }
  328. summaryText += g_jobOptions_msg_array['IDS_OTHERRUN_FORMAT_XLS_2002'];
  329. needDelimiter = true;
  330. }
  331. // CSV
  332. if (frm.m_ro_outputFormat_CSV && frm.m_ro_outputFormat_CSV.checked) {
  333. if (needDelimiter == true) {
  334. summaryText += listSeparator + ' ';
  335. }
  336. summaryText += g_jobOptions_msg_array['IDS_OTHERRUN_FORMAT_CSV'];
  337. needDelimiter = true;
  338. }
  339. // XML
  340. if (frm.m_ro_outputFormat_XML && frm.m_ro_outputFormat_XML.checked) {
  341. if (needDelimiter == true) {
  342. summaryText += listSeparator + ' ';
  343. }
  344. summaryText += g_jobOptions_msg_array['IDS_OTHERRUN_FORMAT_XML'];
  345. needDelimiter = true;
  346. }
  347. // A11Y
  348. if (frm.m_go_accessibilityFeatures && frm.m_go_accessibilityFeatures.checked) {
  349. if (needDelimiter == true) {
  350. summaryText += listSeparator + ' ';
  351. }
  352. summaryText += g_jobOptions_msg_array['IDS_PROP_RUN_A11Y_SUPPORT'];
  353. needDelimiter = true;
  354. }
  355. // languages
  356. if (document.getElementById('g_outputLocaleSummary') && g_outputLocaleSummary != '') {
  357. if (needDelimiter == true) {
  358. summaryText += listSeparator + ' ';
  359. }
  360. summaryText += g_outputLocaleSummary;
  361. needDelimiter = true;
  362. }
  363. // save the reports
  364. if (frm.m_ro_saveOutput && frm.m_ro_saveOutput.checked) {
  365. if (needDelimiter == true) {
  366. summaryText += listSeparator + ' ';
  367. }
  368. summaryText += g_jobOptions_msg_array['IDS_OTHERRUN_SAVE_REPORTS'];
  369. needDelimiter = true;
  370. }
  371. // save the report to the file system
  372. if (frm.m_ro_archive && frm.m_ro_archive.checked && document.getElementById('g_archiveSummary')) {
  373. if (needDelimiter == true) {
  374. summaryText += listSeparator + ' ';
  375. }
  376. summaryText += g_jobOptions_msg_array['IDS_OTHERRUN_SAVE_FILE_SYSTEM'] + ' (' + g_archiveSummary + ')';
  377. needDelimiter = true;
  378. }
  379. // print
  380. if (frm.m_ro_print && frm.m_ro_print.checked) {
  381. if (needDelimiter == true) {
  382. summaryText += listSeparator + ' ';
  383. }
  384. summaryText += g_jobOptions_msg_array['IDS_OTHERRUN_PRINT_REPORTS'] + ' ' + frm.select_printerAddress.value;
  385. needDelimiter = true;
  386. }
  387. // email
  388. if (frm.m_ro_email.checked && document.getElementById('g_emailSummary'))
  389. {
  390. if (needDelimiter == true) {
  391. summaryText += listSeparator + ' ';
  392. }
  393. summaryText += g_emailSummary;
  394. needDelimiter = true;
  395. }
  396. // burst
  397. if (frm.m_ro_burst.checked && cacheSetting=='none') {
  398. if (needDelimiter == true) {
  399. summaryText += listSeparator + ' ';
  400. }
  401. summaryText += g_jobOptions_msg_array['IDS_OTHERRUN_BURST_MULTIPLE_REPORTS'];
  402. needDelimiter = true;
  403. }
  404. }
  405. if (summaryText == '') {
  406. summaryText = g_jobOptions_msg_array['IDS_PROP_JOB_NO_DEFAULT_SET'];
  407. }
  408. document.getElementById('reportOptionSummary').innerHTML = summaryText;
  409. }