xqeLoggingOverrides.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. /*
  2. * IBM Confidential
  3. * OCO Source Materials
  4. * IBM Cognos Products: XQE
  5. * (C) Copyright IBM Corp. 2009, 2015
  6. * The source code for this program is not published or otherwise divested of its trade secrets,
  7. * irrespective of what has been deposited with the U.S. Copyright Office.
  8. */
  9. if (!window.isPopupOpen) {
  10. window.isPopupOpen = 1;
  11. function grab(s) {
  12. return document.getElementById(s);
  13. }
  14. function getCookie(c_name) {
  15. var c_value = document.cookie;
  16. var c_start = c_value.indexOf(" " + c_name + "=");
  17. if (c_start == -1) {
  18. c_start = c_value.indexOf(c_name + "=");
  19. }
  20. if (c_start == -1) {
  21. c_value = null;
  22. } else {
  23. c_start = c_value.indexOf("=", c_start) + 1;
  24. var c_end = c_value.indexOf(";", c_start);
  25. if (c_end == -1) {
  26. c_end = c_value.length;
  27. }
  28. c_value = unescape(c_value.substring(c_start, c_end));
  29. }
  30. return c_value;
  31. }
  32. function displayCookies() {
  33. grab('$xqeEnableLogOverrides').checked = (getCookie('xqeEnableLogOverrides') == "true" ? true : false);
  34. grab('$xqeInheritLogLevels').checked = (getCookie('xqeInheritLogLevels') == "true" ? true : false);
  35. grab('$xqeLogLevels').value = getCookie('xqeLogLevels');
  36. grab('$xqeLogAppender').value = getCookie('xqeLogAppender');
  37. toggleEnabled();
  38. }
  39. function setCookiesAndDispose() {
  40. document.cookie = 'xqeEnableLogOverrides=' + escape(grab('$xqeEnableLogOverrides').checked) + '; path=/';
  41. document.cookie = 'xqeInheritLogLevels=' + escape(grab('$xqeInheritLogLevels').checked) + '; path=/';
  42. document.cookie = 'xqeLogLevels=' + escape(grab('$xqeLogLevels').value) + '; path=/';
  43. document.cookie = 'xqeLogAppender=' + escape(grab('$xqeLogAppender').value) + '; path=/';
  44. dispose();
  45. }
  46. function clearCookiesAndDispose() {
  47. document.cookie = 'xqeEnableLogOverrides=;expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/';
  48. document.cookie = 'xqeInheritLogLevels=;expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/';
  49. document.cookie = 'xqeLogLevels=;expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/';
  50. document.cookie = 'xqeLogAppender=;expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/';
  51. dispose();
  52. }
  53. function toggleEnabled() {
  54. var isEnabled = grab('$xqeEnableLogOverrides').checked;
  55. grab('$xqeInheritLogLevels').disabled = !isEnabled;
  56. grab('$xqeLogLevels').disabled = !isEnabled;
  57. grab('$xqeLogAppender').disabled = !isEnabled;
  58. }
  59. function dispose() {
  60. document.body.removeChild($div);
  61. window.onscroll = oldscroll;
  62. window.isPopupOpen = null;
  63. };
  64. $div = document.createElement('DIV');
  65. $div.style.cssText = 'position:absolute;border:1px solid #85A4E6;display:block;color:black;background:#FFF;z-index:1000000;height:auto;width:auto';
  66. document.body.appendChild($div);
  67. oldscroll = window.onscroll;
  68. window.onscroll = function () {
  69. $div.style.top = (document.body.scrollTop || document.documentElement.scrollTop) + 5 + 'px';
  70. if (oldscroll) {
  71. oldscroll();
  72. }
  73. };
  74. $div.innerHTML = '<table cellspacing=\'0\' cellpadding=\'4\' style=\'background:#FFF;font-family:sans-serif;font-size:0.9em;margin:0;padding:0\'>' + '<tr><th colspan=\'2\' style=\'background:#85A4E6;color:#FFF;\'><div style=\'display:block;float:right;cursor:pointer;width:auto\' onclick=\'dispose();\'>x</div>XQE Logging Overrides</th></tr>' + '<tr title="Enable or disable the XQE logging overrides feature."><td>Enable Overrides:</td><td><input type=\'checkbox\' id=\'$xqeEnableLogOverrides\' onclick=\'toggleEnabled();\'/></td></tr>' + '<tr title="Inherit the log levels specified by your BI administrator."><td>Inherit Levels:</td><td><input type=\'checkbox\' id=\'$xqeInheritLogLevels\'/></td></tr>' + '<tr title="Define zero or more XQE log level overrides, separated by a comma. e.g. \'XQE:FormatService.Formatter=trace,NGTM1:Connection=info\'."><td>Custom Levels:</td><td><input id=\'$xqeLogLevels\' size=\'75\'/></td></tr>' + '<tr title="Provide a special identifier to be used as part of your custom log\'s filename."><td>Custom Appender:</td><td><input id=\'$xqeLogAppender\' size=\'75\'/></td></tr>' + '<tr><td colspan=\'2\' align=\'right\'><button onclick=\'setCookiesAndDispose();\'>Set</button><button onclick=\'clearCookiesAndDispose();\'>Clear</button></td></tr>' + '</table>';
  75. $div.style.top = (document.body.scrollTop || document.documentElement.scrollTop) + 5 + 'px';
  76. $div.style.left = '5px';
  77. displayCookies();
  78. void(x = 3);
  79. }