setsql.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. $().ready(function()
  2. {
  3. $.setAjaxForm('#sqlForm', function(response)
  4. {
  5. if(response.result == 'success')
  6. {
  7. $('#responseBox').removeClass('text-danger').html(response.queryResult);
  8. $('#submit').prop('disabled', false).addClass('btn-primary');
  9. if(typeof(response.locate) != 'undefined') location.href = response.locate;
  10. }
  11. else
  12. {
  13. $('#responseBox').addClass('text-danger').html(response.errors);
  14. }
  15. return false;
  16. });
  17. $(document).on('click', '#testBtn', function()
  18. {
  19. $('#action').val('test');
  20. $('#sqlForm').submit();
  21. });
  22. $(document).on('click', '#submit', function()
  23. {
  24. $('#action').val('save');
  25. $('#sqlForm').submit();
  26. });
  27. $('#sql').change(function()
  28. {
  29. $('#submit').prop('disabled', true).removeClass('btn-primary');
  30. $.post(createLink('measurement', 'getsqlparams'),
  31. {
  32. sql: $('#sql').val(), measurementID:measurementID},
  33. function(response)
  34. {
  35. $('#paramBox').html(response);
  36. }
  37. );
  38. });
  39. });
  40. $('[name^=varType]').change();
  41. function togglParamList(obj)
  42. {
  43. var varType = $(obj).parents('td').find('select[name*=varType]');
  44. toggleSelectList(varType);
  45. }
  46. function toggleSelectList(obj)
  47. {
  48. isSelect = $(obj).val() == 'select';
  49. if(isSelect)
  50. {
  51. $(obj).parents('td').find('select[name*=options]').removeClass('hidden');
  52. }
  53. else
  54. {
  55. $(obj).parents('td').find('select[name*=options]').addClass('hidden');
  56. }
  57. var optionType = $(obj).parents('td').find('select[name*=options]').val();
  58. var tr = $(obj).closest('tr');
  59. controlType = $(obj).val();
  60. updateParamControl(tr, controlType, optionType);
  61. }
  62. function updateParamControl(tr, controlType, optionType)
  63. {
  64. var defaultValue = tr.find('[name^=defaultValue]').val();
  65. defaultValue = window.btoa(defaultValue);
  66. $.get(createLink('measurement', 'ajaxGetParamControl', "controlType=" + controlType + "&optionType=" + optionType + '&defaultValue=' + defaultValue), function(data)
  67. {
  68. tr.find("td:last").remove();
  69. tr.find("td:last").remove();
  70. tr.append(data);
  71. tr.find("td input").each(function()
  72. {
  73. if($(this).hasClass('form-date')) $(this).datepicker();
  74. });
  75. tr.find("td select").each(function()
  76. {
  77. if($(this).hasClass('chosen')) $(this).chosen();
  78. });
  79. });
  80. }
  81. function submitForm(value)
  82. {
  83. $('#action').val(value);
  84. $('#sqlForm').submit();
  85. }