My Merge Requests Gitlab

Show Link to opened Merge Requests, auto click swipe on MR with pics

As of 2018-06-14. See the latest version.

  1. // ==UserScript==
  2. // @name My Merge Requests Gitlab
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.6
  5. // @description Show Link to opened Merge Requests, auto click swipe on MR with pics
  6. // @author hannsen
  7. // @match https://git04.quodata.de/*
  8. // @require https://code.jquery.com/jquery-3.1.1.min.js
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12.  
  13. (function() {
  14. 'use strict';
  15.  
  16. var swipe = 0;
  17. function scrollFunction() {
  18. if(!swipe)
  19. swipe = $('li.swipe');
  20.  
  21. for(var i = 0; i < swipe.length; i++){
  22. if(isScrolledIntoView(swipe[i])){
  23. swipe[i].click();
  24. return;
  25. }
  26. }
  27. }
  28.  
  29. function isScrolledIntoView(elem) {
  30. var docViewTop = $(window).scrollTop();
  31. var docViewBottom = docViewTop + $(window).height();
  32. var elemTop = $(elem).offset().top;
  33. var elemBottom = elemTop + $(elem).height();
  34. return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
  35. }
  36.  
  37. if(window.location.href.indexOf("merge_requests") > 0)
  38. window.onscroll = scrollFunction;
  39.  
  40.  
  41. var $merge_button = $($(".user-counter:eq( 1 )").prop('outerHTML'));
  42. var new_href = $merge_button.children().attr('href').replace('assignee_id','state=opened&author_id');
  43. $merge_button.children().attr('href',new_href);
  44. $merge_button.find('span').toggleClass('gitlab-own-merge-requests merge-requests-count issues-count')
  45. .removeClass('hidden');
  46. $($merge_button.prop('outerHTML')).insertBefore( ".user-counter:eq( 2 )" );
  47.  
  48. $.ajax({
  49. url: new_href,
  50. })
  51. .done(function( data ) {
  52. var open_mr = $(data).find('a#state-opened > span.badge').html();
  53. $('.gitlab-own-merge-requests').html( open_mr );
  54. });
  55.  
  56. })();