edit.js 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. $(document).ready(function()
  2. {
  3. if($('#expression').val())
  4. {
  5. window.expression = JSON.parse($('#expression').val());
  6. $('#fieldTable .expression').append("<span class='item-name'>" + $('#name').val() + '</span><span>=</span>');
  7. appendExpression(window.expression, $('#fieldTable .expression'));
  8. }
  9. $.ajaxForm('#editFieldForm', function(response)
  10. {
  11. if(response.alert)
  12. {
  13. $('#editFieldForm #submit').hide();
  14. $('#editFieldForm #alert').html(response.alert);
  15. $('#editFieldForm #alertDIV').show();
  16. $('#editFieldForm #alertBtn').click(function()
  17. {
  18. location.href = location.href;
  19. });
  20. }
  21. else
  22. {
  23. if(response.result == 'success')
  24. {
  25. var reloadUrl = response.locate == 'reload' ? location.href : response.locate;
  26. setTimeout(function(){location.href = reloadUrl;}, 1200);
  27. }
  28. }
  29. });
  30. $.ajaxForm('#addVarForm', function(data)
  31. {
  32. if(data.result == 'success')
  33. {
  34. var varName = data.varName;
  35. $('#varsTR').show();
  36. $('#varsTD').append($('#varGroup').html().replace(/key/g, varName));
  37. var link = createLink('workflow', 'buildVarControl', 'varName=' + varName);
  38. $('#varsTD').find('#' + varName).find('.input-group').load(link, function()
  39. {
  40. $('#varsTD').find('#' + varName).find('.chosen').chosen();
  41. $('#varsTD').find('#' + varName).find('.form-date').fixedDate().datetimepicker($.extend(window.datetimepickerDefaultOptions, {startView: 2, minView: 2, format: 'yyyy-mm-dd'}));
  42. fixVarControls();
  43. });
  44. $('#sql').val($('#sql').val() + ' $' + varName + ' ');
  45. $.zui.closeModal();
  46. }
  47. });
  48. $('#fieldTable #control').change();
  49. fixVarControls();
  50. showTips();
  51. $('#optionTR td.sortTd').sortable(
  52. {
  53. selector: 'div.input-group',
  54. trigger: '.sortItem',
  55. dragCssClass: 'drag-row',
  56. reverse: true
  57. });
  58. /* Add a option. */
  59. $(document).on('click', '.addItem', function()
  60. {
  61. $(this).closest('.sortTd').find('.sort-btn').removeClass('hidden');
  62. });
  63. });
  64. function showTips()
  65. {
  66. let $tipsBox = $('#tipsBox');
  67. if($tipsBox.length == 0) return;
  68. let optionType = $('[name=optionType]').val();
  69. let control = $('[name=control]').val();
  70. let tips = syncQuoteNoOptions.replace('%s', joinedGroupName);
  71. if(['select', 'multi-select', 'radio', 'checkbox'].includes(control) && optionType == 'custom')
  72. {
  73. tips = syncQuoteFields.replace('%s', joinedGroupName);
  74. }
  75. $tipsBox.html(tips);
  76. if(control == 'file') $tipsBox.find('.nosyncbox').addClass('hidden');
  77. }