design.js 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. $(document).on('click', '#reDesignButton', function()
  2. {
  3. location.href = createLink('measurement', 'design', "measurementID=" + measurementID + "&step=1&type=reDesign");
  4. });
  5. $(document).on('change', "select[name^='options']", function()
  6. {
  7. var $tr = $(this).closest('tr');
  8. var optionType = $(this).val();
  9. updateParamControl($tr, 'select', optionType);
  10. })
  11. function setParams(data)
  12. {
  13. if(data)
  14. {
  15. var tbodyHtml = $('#setParams table tbody').html();
  16. $('#tmpDataBox').append(tbodyHtml);
  17. $('#setParams table tbody').empty();
  18. var html = $('#templateBox table tbody tr.template').html();
  19. for(i in data)
  20. {
  21. if(data[i].indexOf('|'))
  22. {
  23. params = data[i].split('|');
  24. paramName = params[0];
  25. defaultValue = params[1];
  26. }
  27. else
  28. {
  29. paramName = data[i];
  30. defaultValue = '';
  31. }
  32. if($('#tmpDataBox').find('#' + paramName).length)
  33. {
  34. $('#setParams table tbody').append($('#tmpDataBox').find('#' + paramName).prop('outerHTML'));
  35. }
  36. else
  37. {
  38. $('#setParams table tbody').append('<tr id=>' + paramName + html + '</tr>');
  39. $('#setParams table tbody tr:last td:first').find('span:first').html(paramName);
  40. $('#setParams table tbody tr:last td:first').find('input:hidden').val(paramName);
  41. }
  42. $('#setParams table tbody tr:last input[name^="defaultValue"]').val(defaultValue);
  43. var index = $('#setParams table tbody tr:last').index();
  44. $('#setParams table tbody tr:last td').eq(2).find('input:radio').attr('name', 'varType[' + index + ']');
  45. }
  46. $('#submit').prop('disabled', false);
  47. $('#setParams').modal('show');
  48. }
  49. }
  50. function hideParamForm()
  51. {
  52. $('#setParams').modal('hide');
  53. location.href = createLink('measurement', 'design', "measurementID=" + measurementID + "&step=3");
  54. }
  55. function toggleSelectList(obj)
  56. {
  57. controlType = $(obj).val();
  58. if(controlType == 'select')
  59. {
  60. $(obj).parents('td').find('select').removeClass('hidden');
  61. }
  62. else
  63. {
  64. $(obj).parents('td').find('select').addClass('hidden');
  65. }
  66. var optionType = $(obj).parents('td').find('select').val();
  67. var $tr = $(obj).closest('tr');
  68. updateParamControl($tr, controlType, optionType);
  69. }
  70. function updateParamControl($tr, controlType, optionType)
  71. {
  72. var defaultValue = $tr.find('[name^=defaultValue]').val();
  73. defaultValue = window.btoa(defaultValue);
  74. $.get(createLink('measurement', 'ajaxGetParamControl', "controlType=" + controlType + "&optionType=" + optionType + '&defaultValue=' + defaultValue), function(data)
  75. {
  76. $tr.find("td:last").remove();
  77. $tr.find("td:last").remove();
  78. $tr.append(data);
  79. $tr.find("td input").each(function()
  80. {
  81. if($(this).hasClass('form-date')) $(this).datepicker();
  82. });
  83. $tr.find("td select").each(function()
  84. {
  85. if($(this).hasClass('chosen')) $(this).chosen();
  86. });
  87. });
  88. }