uploaddocs.ui.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. window.waitDom('.uploadFileBox .file-selector-list', function(){ addFileUploadMutationObserver();})
  2. function addFileUploadMutationObserver()
  3. {
  4. let fileUpload = document.querySelector('.uploadFileBox .file-selector-list');
  5. observer = new MutationObserver(function(mutationsList, observer)
  6. {
  7. let title = $('.uploadFileBox .file-selector-list .file-selector-item:nth-child(1) .item-title').text();
  8. let dotIdx = title.lastIndexOf('.');
  9. if(dotIdx != '-1') title = title.substring(0, dotIdx);
  10. if(docID == 0)
  11. {
  12. $('.titleBox [name=title]').val(title);
  13. $('.uploadFormatBox').toggleClass('hidden', $('.uploadFileBox .file-selector-list .file-selector-item').length <= 1);
  14. }
  15. });
  16. observer.observe(fileUpload, {childList: true, subtree: true});
  17. }
  18. window.loadExecutions = function(e)
  19. {
  20. const $projectElement = $('.projectBox input[name="project"]');
  21. const $executionElement = $('.executionBox input[name="execution"]');
  22. const projectID = $projectElement.val();
  23. if($executionElement)
  24. {
  25. const executionID = $executionElement.val();
  26. const link = $.createLink('project', 'ajaxGetExecutions', "projectID=" + projectID + "&mode=multiple,leaf,noprefix");
  27. $.getJSON(link, function(data)
  28. {
  29. let $picker = $executionElement.zui('picker');
  30. $picker.render({items: data.items, disabled: !data.multiple});
  31. $picker.$.setValue(executionID);
  32. });
  33. }
  34. const link = $.createLink('doc', 'ajaxGetModules', 'objectType=project&objectID=' + projectID + '&type=doc');
  35. $.getJSON(link, function(data)
  36. {
  37. const $libPicker = $("[name='lib']").zui('picker');
  38. $libPicker.render({items: data.libs});
  39. $libPicker.$.setValue('');
  40. const $modulePicker = $("[name='parent']").zui('picker');
  41. $modulePicker.render({items: data.modules});
  42. $modulePicker.$.setValue('');
  43. });
  44. }
  45. window.openEditURL = function(docID, fileID)
  46. {
  47. let editUrl = $.createLink('file', 'download', "fileID=" + fileID + "&mouse=left");
  48. window.open(editUrl);
  49. loadPage($.createLink('doc', 'view', "docID=" + docID));
  50. }
  51. window.toggleDocTitle = function()
  52. {
  53. const uploadFormat = $('.uploadFormatBox input[name=uploadFormat]:checked').val();
  54. $('.titleBox').toggleClass('hidden', uploadFormat != 'combinedDocs');
  55. }
  56. window.titleChanged = function()
  57. {
  58. if(observer) observer.disconnect();
  59. }