edit.ui.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /**
  2. * Load branches by product.
  3. *
  4. * @param object $obj
  5. * @access public
  6. * @return void
  7. */
  8. function loadBranches()
  9. {
  10. const productID = $(['name=root']).val();
  11. const $branchBox = $('.branchBox');
  12. $branchBox.addClass('hidden');
  13. $.get($.createLink('branch', 'ajaxGetBranches', "productID=" + productID + "&oldBranch=0&param=withClosed"), function(data)
  14. {
  15. data = JSON.parse(data);
  16. if(data.length > 0)
  17. {
  18. $branch = $('[name=branch]').zui('picker');
  19. $branch.render({items: data});
  20. $branch.$.setValue('');
  21. $branchBox.removeClass('hidden');
  22. }
  23. ajaxLoadModules(productID, 0);
  24. })
  25. }
  26. /**
  27. * Load modules by product and branch.
  28. *
  29. * @param obj $branch
  30. * @access public
  31. * @return void
  32. */
  33. function loadModules(e)
  34. {
  35. const productID = $('[name=root]').val();
  36. const branchID = $('[name=branch]').val();
  37. if(typeof(branchID) == 'undefined') branchID = 0;
  38. ajaxLoadModules(productID, branchID);
  39. }
  40. function changeRoot()
  41. {
  42. const productID = $('[name=root]').val();
  43. const confirmMessage = type == 'doc' ? confirmRoot4Doc : confirmRoot;
  44. if(moduleRoot != productID)
  45. {
  46. if(type == 'docTemplate')
  47. {
  48. ajaxLoadModules(productID, 0, 'docTemplate', moduleID, '1');
  49. }
  50. else
  51. {
  52. zui.Modal.confirm(confirmMessage).then(result =>
  53. {
  54. if(result)
  55. {
  56. ajaxLoadModules(productID, 0, type, moduleID);
  57. }
  58. else
  59. {
  60. $('[name=root]').zui('picker').$.setValue(moduleRoot);
  61. }
  62. });
  63. }
  64. }
  65. else
  66. {
  67. ajaxLoadModules(productID, 0, type, moduleID);
  68. }
  69. }
  70. /**
  71. * Ajax load modules by product and branch.
  72. *
  73. * @param int $productID
  74. * @param int $branchID
  75. * @param string $viewType
  76. * @param int $currentModuleID
  77. * @access public
  78. * @return void
  79. */
  80. function ajaxLoadModules(productID, branchID, viewType = '', currentModuleID = 0, grade = 'all')
  81. {
  82. if(!viewType) viewType = type;
  83. var link = $.createLink('tree', 'ajaxGetOptionMenu', 'productID=' + productID + '&viewtype=' + viewType + '&branch=' + branchID + '&rootModuleID=0&returnType=html&fieldID=&extra=excludeModuleID=' + currentModuleID + ',noMainBranch,nodeleted,excludeRelated&currentModuleID=0&grade=' + grade);
  84. $.getJSON(link, function(data)
  85. {
  86. $parent = $('[name=parent]').zui('picker');
  87. $parent.render({items: data.items});
  88. $parent.$.setValue('');
  89. });
  90. }