utils.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. // Some general purpose JS functions for the iTop application
  2. /**
  3. * Reload a truncated list
  4. */
  5. function ReloadTruncatedList(divId, sSerializedFilter, sExtraParams)
  6. {
  7. $('#'+divId).addClass('loading');
  8. //$('#'+divId).blockUI();
  9. $.get('ajax.render.php?filter='+sSerializedFilter+'&style=list',
  10. { operation: 'ajax', extra_params: sExtraParams },
  11. function(data){
  12. $('#'+divId).empty();
  13. $('#'+divId).append(data);
  14. $('#'+divId).removeClass('loading');
  15. $('#'+divId+' .listResults').tableHover(); // hover tables
  16. $('#'+divId+' .listResults').tablesorter( { headers: { 0:{sorter: false }}, widgets: ['zebra']} ); // sortable and zebra tables
  17. //$('#'+divId).unblockUI();
  18. }
  19. );
  20. }
  21. /**
  22. * Reload any block -- used for periodic auto-reload
  23. */
  24. function ReloadBlock(divId, sStyle, sSerializedFilter, sExtraParams)
  25. {
  26. $('#'+divId).addClass('loading');
  27. //$('#'+divId).blockUI();
  28. $.get('ajax.render.php?filter='+sSerializedFilter+'&style='+sStyle,
  29. { operation: 'ajax', extra_params: sExtraParams },
  30. function(data){
  31. $('#'+divId).empty();
  32. $('#'+divId).append(data);
  33. $('#'+divId).removeClass('loading');
  34. $('#'+divId+' .listResults').tableHover(); // hover tables
  35. $('#'+divId+' .listResults').tablesorter( { headers: { 0:{sorter: false }}, widgets: ['zebra']} ); // sortable and zebra tables
  36. //$('#'+divId).unblockUI();
  37. }
  38. );
  39. }
  40. /**
  41. * Update the display and value of a file input widget when the user picks a new file
  42. */
  43. function UpdateFileName(id, sNewFileName)
  44. {
  45. var aPath = sNewFileName.split('\\');
  46. var sNewFileName = aPath[aPath.length-1];
  47. $('#'+id).val(sNewFileName);
  48. $('#'+id).trigger('validate');
  49. $('#name_'+id).text(sNewFileName);
  50. return true;
  51. }
  52. /**
  53. * Reload a search form for the specified class
  54. */
  55. function ReloadSearchForm(divId, sClassName, sBaseClass)
  56. {
  57. $('#'+divId).block();
  58. var formEvents = $('#'+divId+' form').data('events');
  59. var bSubmitHookIsUsed = false;
  60. if ( (formEvents != undefined) && (SubmitHook != undefined))
  61. {
  62. // Assume that we're using the function submit hook...
  63. bSubmitHookIsUsed = true;
  64. }
  65. $('#'+divId+' form').unbind('submit');
  66. $.get('ajax.render.php',
  67. { operation: 'search_form', className: sClassName, baseClass: sBaseClass, currentId: divId },
  68. function(data){
  69. $('#'+divId).empty();
  70. $('#'+divId).append(data);
  71. if (bSubmitHookIsUsed)
  72. {
  73. $('#'+divId+' form').bind('submit', SubmitHook);
  74. }
  75. $('#'+divId).unblock();
  76. }
  77. );
  78. }
  79. /**
  80. * Stores - in a persistent way - user specific preferences
  81. * depends on a global variable oUserPreferences created/filled by the iTopWebPage
  82. * that acts as a local -write through- cache
  83. */
  84. function SetUserPreference(sPreferenceCode, sPrefValue, bPersistent)
  85. {
  86. sPreviousValue = undefined;
  87. try
  88. {
  89. sPreviousValue = oUserPreferences[sPreferenceCode];
  90. }
  91. catch(err)
  92. {
  93. sPreviousValue = undefined;
  94. }
  95. oUserPreferences[sPreferenceCode] = sPrefValue;
  96. if (bPersistent && (sPrefValue != sPreviousValue))
  97. {
  98. ajax_request = $.post('ajax.render.php',
  99. { operation: 'set_pref', code: sPreferenceCode, value: sPrefValue} ); // Make it persistent
  100. }
  101. }
  102. /**
  103. * Get user specific preferences
  104. * depends on a global variable oUserPreferences created/filled by the iTopWebPage
  105. * that acts as a local -write through- cache
  106. */
  107. function GetUserPreference(sPreferenceCode, sDefaultValue)
  108. {
  109. var value = sDefaultValue;
  110. if ( oUserPreferences[sPreferenceCode] != undefined)
  111. {
  112. value = oUserPreferences[sPreferenceCode];
  113. }
  114. return value;
  115. }