NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Feature & US // @description Alerte le user s'il n'a pas d'US en cours ou si la methode sur laquelle il travaille n'a pas d'US/feature rattachée // @version 1.1 // @require https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js // @author Aloïs // @include /^https://.*-des\.f.v..d\.com// // @icon https://www.google.com/s2/favicons?domain=faveod.com // @license MIT // @updateURL https://openuserjs.org/meta/Alobeast/Feature_US.meta.js // @downloadURL https://openuserjs.org/install/Alobeast/Feature_US.user.js // ==/UserScript== // ==OpenUserJS== // ==/OpenUserJS== // jshint esversion: 6 // jshint jquery: true // globals $, jQuery window.onready = (function() { const usSelected = !!document.querySelector(`#working_on`); const hasPreviousVersions = !!document.querySelector('div.previous_versions'); let currentlyChosenUs = ''; if (!!document.querySelector(`#working_on`)) { currentlyChosenUs = document.querySelector(`#working_on`).firstElementChild.innerText.substring(1, 7); } let specReferenceElement = $( "label:contains('Référence de spécifications : ')" ) if (specReferenceElement.length < 1) { specReferenceElement = $( "label:contains('Specification Reference: ')" ) } const specReference = specReferenceElement[0].firstElementChild.value; currentlyChosenUs = currentlyChosenUs.replace(')',''); const $warningLogo = jQuery('<span></span>') .attr('id', 'user-story-warning-logo') .css('background-image', 'url(https://i.imgur.com/JW2wKDs.png)') .css('height', '20px') .css('width', '20px') .css('display', 'inline-block') .css('background-position', 'center') .css('background-size', 'contain') .css('margin-bottom', '-4px') .css('margin-right', '4px') // Si le user n'a pas d'US en cours on affiche l'alerte `ATTENTION vous n'avez pas sélectionné d'US` if (usSelected === false) { const $userStoryWarning = jQuery('<span></span>') .attr('id', 'user-story-warning') .text(`ATTENTION vous n'avez pas sélectionné d'US`) .css('color', '#D04158') .css('font-weight', 'bold') .css('font-size', '1.1em') jQuery('#content').prepend($userStoryWarning); $userStoryWarning.prepend($warningLogo); let counter = 1; const isOdd = (x) => { return x & 1 } setInterval(function() { if(isOdd(counter) == 1) { $warningLogo.css('background-image', 'url(https://i.imgur.com/JW2wKDs.png)') counter += 1; } else { $warningLogo.css('background-image', 'url(https://i.imgur.com/iqfdJGd.png)') counter += 1; } }, 1000); // Si le user a une US en cours, et que celle ci correspond a l'US renseignée dans l'input Référence de spécifications de la logique en cours on affiche l'alerte `ATTENTION il est possible que cette logique ne soit encore rattachée à aucune feature` // on verifie également qu'il ne s'agisse pas d'une logique nouvellement créée et qu'il n'y a qu'une seule US référencée dans "Référence de spécification" soit 6 caracteres max pour respecter le format "USxxx" ou "USxxxx" } else if ((hasPreviousVersions == true) && (specReference === currentlyChosenUs) && (specReference.length <= 6)) { const $logicNotLinkedWarning = jQuery('<span></span>') .attr('id', 'logic_not_linked') .text(`ATTENTION il est possible que cette logique ne soit encore rattachée à aucune feature`) .css('color', '#D04158') .css('font-weight', 'bold') .css('font-size', '1.1em') jQuery('#content').prepend($logicNotLinkedWarning); $logicNotLinkedWarning.prepend($warningLogo); let counter = 1; const isOdd = (x) => { return x & 1 } setInterval(function() { if(isOdd(counter) == 1) { $warningLogo.css('background-image', 'url(https://i.imgur.com/JW2wKDs.png)') counter += 1; } else { $warningLogo.css('background-image', 'url(https://i.imgur.com/iqfdJGd.png)') counter += 1; } }, 1000); } })();