Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.07 KB | None | 0 0
  1. <script type="text/javascript">
  2. (function (_window) {
  3. var maxTimeForReplaceUploadProgressFunc = 10000;
  4. function replaceUploadProgressFunc() {
  5. if (typeof _window.UploadProgressFunc != 'undefined') {
  6. _window.Base_UploadProgressFunc = _window.UploadProgressFunc;
  7. _window.UploadProgressFunc = Custom_UploadProgressFunc;
  8. console.log('replaced dialog');
  9. } else if (maxTimeForReplaceUploadProgressFunc > 0) {
  10. maxTimeForReplaceUploadProgressFunc -= 100;
  11. setTimeout(replaceUploadProgressFunc, 100);
  12. }
  13. }
  14. setTimeout(replaceUploadProgressFunc, 100);
  15.  
  16.  
  17. function Custom_UploadProgressFunc(percentDone, timeElapsed, state) {
  18. _window.Base_UploadProgressFunc(percentDone, timeElapsed, state);
  19. var messageType = ProgressMessage.EMPTY;
  20. switch (state.status) {
  21. case 1:
  22. messageType = ProgressMessage.VALIDATION;
  23. break;
  24. case 3:
  25. messageType = ProgressMessage.UPLOADING;
  26. break;
  27. case 4:
  28. messageType = ProgressMessage.UPLOADED;
  29. OpenEditFormForLastItem(state);
  30. break;
  31. case 5:
  32. messageType = ProgressMessage.CANCELLED;
  33. break;
  34. }
  35.  
  36. function OpenEditFormForLastItem(state) {
  37. var caml = '';
  38. caml += "<View>";
  39. caml += "<Query>";
  40. caml += "<Where>";
  41.  
  42. if (state.files.length > 1) {
  43. caml += "<In>";
  44. caml += "<FieldRef Name='FileLeafRef'/>";
  45. caml += "<Values>";
  46. } else {
  47. caml += "<Eq>";
  48. caml += "<FieldRef Name='FileLeafRef'/>";
  49. }
  50.  
  51. state.files.forEach(function (file) {
  52. //only succesfull uploaded files that arent overwrites
  53. console.log(file);
  54. if (file.status === 5 /*&& !file.overwrite*/) {
  55. caml += "<Value Type='File'>" + file.fileName + "</Value>";
  56. }
  57. }, this);
  58.  
  59. if (state.files.length > 1) {
  60. caml += "</Values>";
  61. caml += "</In>";
  62. } else {
  63. caml += "</Eq>";
  64. }
  65.  
  66. caml += "</Where>";
  67. caml += "<OrderBy><FieldRef Name='ID' Ascending='True' /></OrderBy>";
  68. caml += "</Query>";
  69. caml += "<ViewFields><FieldRef Name='ID' /></ViewFields>";
  70. caml += "<RowLimit>500</RowLimit>";
  71. caml += "</View>";
  72. console.log(caml);
  73.  
  74. var cntxt = SP.ClientContext.get_current();
  75. var web = cntxt.get_web();
  76. var list = web.get_lists().getByTitle(window.ctx.ListTitle);
  77. var query = new SP.CamlQuery();
  78. query.set_viewXml(caml);
  79. var items = list.getItems(query);
  80. cntxt.load(list, 'DefaultEditFormUrl');
  81. cntxt.load(items);
  82. cntxt.executeQueryAsync(function () {
  83. var listEnumerator = items.getEnumerator();
  84. function openEditForItem() {
  85. if (listEnumerator.moveNext()) {
  86. var item = listEnumerator.get_current();
  87. var id = item.get_id();
  88.  
  89. var options = SP.UI.$create_DialogOptions();
  90. options.title = "Add File Metadata";
  91. options.url = list.get_defaultEditFormUrl() + '?ID=' + id;
  92. options.autoSize = true;
  93. options.dialogReturnValueCallback = openEditForItem;
  94. SP.UI.ModalDialog.showModalDialog(options);
  95. } else {
  96. location.href = location.href;
  97. }
  98. }
  99. openEditForItem();
  100. }, function (error, args) {
  101. console.log("failed to get new uploaded items");
  102. console.log(error);
  103. console.log(args);
  104. });
  105. }
  106. }
  107. })(window);
  108. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement