common.ui.js 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. const toggleNavigator = () => {
  2. const navigator = event.target.value;
  3. const $form = $(event.target).closest('form');
  4. const $app = $form.find('[name=app]');
  5. const module = $form.find('[name=module]').val();
  6. const appPicker = $app.zui('picker');
  7. const modulePicker = $form.find('[name=positionModule]').zui('picker');
  8. if(navigator == 'primary') {
  9. $app.closest('.form-group').addClass('hidden');
  10. appPicker.render({items: []});
  11. appPicker.$.setValue('');
  12. $.getJSON($.createLink('workflow', 'ajaxGetApps', 'splitProject=0'), function(apps) {
  13. modulePicker.render({items: apps});
  14. modulePicker.$.setValue('');
  15. });
  16. } else if(navigator == 'secondary') {
  17. $app.closest('.form-group').removeClass('hidden');
  18. $.getJSON($.createLink('workflow', 'ajaxGetApps', `splitProject=1&exclude=${module}`), function(apps) {
  19. appPicker.render({items: apps});
  20. appPicker.$.setValue('');
  21. });
  22. modulePicker.render({items: []});
  23. modulePicker.$.setValue('');
  24. } else {
  25. $app.closest('.form-group').addClass('hidden');
  26. appPicker.render({items: []});
  27. appPicker.$.setValue('');
  28. modulePicker.render({items: []});
  29. modulePicker.$.setValue('');
  30. }
  31. }
  32. const toggleApp = () => {
  33. const app = event.target.value;
  34. const picker = $(event.target).closest('form').find('[name=positionModule]').zui('picker');
  35. if(app) {
  36. $.getJSON($.createLink('workflow', 'ajaxGetAppMenus', `app=${app}`), function(menus) {
  37. picker.render({items: menus});
  38. picker.$.setValue('');
  39. });
  40. } else {
  41. picker.render({items: []});
  42. picker.$.setValue('');
  43. }
  44. };
  45. const toggleApproval = () => {
  46. const approval = event.target.value;
  47. $(event.target).closest('form').find('#approvalFlow').closest('.form-group').toggleClass('hidden', approval == 'disabled');
  48. };
  49. window.loadDropdownMenu = function(e)
  50. {
  51. const $form = $(e.target).closest('form');
  52. const app = $form.find('[name=app]').val();
  53. const $position = $form.find('[name=position]');
  54. const positionPicker = $position.zui('picker');
  55. const positionItems = positionPicker.options.items;
  56. let items = [];
  57. for(i in positionList)
  58. {
  59. if(e.target.value == 'my' && i == 'before') continue;
  60. items.push({'text': positionList[i], 'value': i, 'key': i});
  61. }
  62. if(items.length != positionItems.length)
  63. {
  64. positionPicker.render({items: items});
  65. positionPicker.$.setValue($position.val());
  66. }
  67. $form.find('#dropMenus').empty();
  68. $.getJSON($.createLink('workflow', 'ajaxGetDropMenus', `app=${app}&menu=${e.target.value}`), function(menus)
  69. {
  70. if(menus.length == 0) return;
  71. $form.find('#dropMenus').append("<div class='dropPicker' style='width: 120px'></div>");
  72. new zui.Picker('#dropMenus .dropPicker', {items: menus, name: 'dropMenu'});
  73. });
  74. };