Trello Esti

Estimated Trello

目前为 2020-07-06 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Trello Esti
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.2
  5. // @author Thibault
  6. // @description Estimated Trello
  7. // @description:fr estimation trello
  8. // @match https://*trello.com/b/*
  9. // @match https://*trello.com/c/*
  10. // @include https://*trello.com/b/*
  11. // @include https://*trello.com/c/*
  12. // @grant none
  13. // ==/UserScript==
  14.  
  15.  
  16. (function() {
  17. function DisplayEsti()
  18. {
  19. $(".window-header").append("<br><div id='Esti'><label>To: </label><input id='To' type='number'> <label> Tm: </label><input id='Tm' type='number'> <label>Tp: </label><input id='Tp' type='number'> <br> Result: <span id='result'></span>&nbsp;&nbsp;<span id='ValidateEsti' class='icon-sm icon-check' style='background: #61bd4f;border-radius: 5px; cursor:pointer'></span></div>")
  20. $("#ValidateEsti").click(function(e)
  21. {
  22. title = $(".mod-card-back-title ").val();
  23. $(".mod-card-back-title.js-card-detail-title-input").addClass("is-editing");
  24. $(".mod-card-back-title.js-card-detail-title-input").focus();
  25. $(".mod-card-back-title ").val('('+result+')' +title);
  26. $(".card-detail-title-assist.js-title-helper").val('('+result+') ' +title);
  27. $(".card-detail-title-assist.js-title-helper").html('('+result+') ' +title);
  28. $(".mod-card-back-title.js-card-detail-title-input").focusout();
  29. $(".comment-box-input.js-new-comment-input").val(details);
  30. $(".primary.confirm.js-add-comment").removeAttr("disabled")
  31. $(".primary.confirm.js-add-comment").click();
  32.  
  33. })
  34. }
  35.  
  36.  
  37. $(document).ajaxComplete(function() {
  38.  
  39. if ($("#Esti").length <= 0){
  40. DisplayEsti();
  41. $("#ValidateEsti").hide();
  42.  
  43. $("#To").keyup(function(){
  44. $To = parseFloat($("#To").val());
  45. $Tm = parseFloat($("#Tm").val());
  46. $Tp = parseFloat($("#Tp").val());
  47. result=($To + 4*$Tm + $Tp)/6;
  48. console.log(result);
  49. result = Math.ceil(result);
  50. details = "To: " + $To + "Tm: "+ $Tm + "Tp: "+ $Tp;
  51. $("#result").html(result);
  52. if (result >= 0)
  53. {
  54. $("#ValidateEsti").show()
  55. }
  56. else{
  57. $("#ValidateEsti").hide()
  58. }
  59. })
  60.  
  61. $("#Tm").keyup(function(){
  62. $To = parseFloat($("#To").val());
  63. $Tm = parseFloat($("#Tm").val());
  64. $Tp = parseFloat($("#Tp").val());
  65. result=($To + 4*$Tm + $Tp)/6;
  66. console.log(result);
  67. result = Math.ceil(result);
  68. details = "To: " + $To + " Tm: "+ $Tm + " Tp: "+ $Tp;
  69. $("#result").html(result);
  70. if (result >= 0)
  71. {
  72. $("#ValidateEsti").show()
  73. }
  74. else{
  75. $("#ValidateEsti").hide()
  76. }
  77. })
  78.  
  79. $("#Tp").keyup(function(){
  80. $To = parseFloat($("#To").val());
  81. $Tm = parseFloat($("#Tm").val());
  82. $Tp = parseFloat($("#Tp").val());
  83. result=($To + 4*$Tm + $Tp)/6;
  84. console.log(result);
  85. result = Math.ceil(result);
  86. details = "To: " + $To + " Tm: "+ $Tm + " Tp: "+ $Tp;
  87. $("#result").html(result);
  88. if (result >= 0)
  89. {
  90. $("#ValidateEsti").show()
  91. }
  92. else{
  93. $("#ValidateEsti").hide()
  94. }
  95. })
  96. }
  97. })
  98. })();