diff --git a/src/Copy_JIRA_info_for_Git.user.js b/src/Copy_JIRA_info_for_Git.user.js index 01f6e07..ecb678d 100644 --- a/src/Copy_JIRA_info_for_Git.user.js +++ b/src/Copy_JIRA_info_for_Git.user.js @@ -21,6 +21,16 @@ ticketIDSelector: '#key-val', ticketTypeSelector: '#type-val', containerSelector: '.ops-menus.aui-toolbar', + mainColumnSelector: '.issue-main-column', + commentButtonSelector: '#footer-comment-button', + commentAreaSelector: '#comment', + textTabSelector: '#aui-uid-2', + visualTabSelector: '#aui-uid-1', + impactAnalysisTemplate: `||Summary||Description|| +|*Version / env*| | +|*Features modified*| | +|*Brands /Features affected*| | +|*What's need to be checked (recommendations from developer)*| |`, ticketTypes: { task: 'task', story: 'story', @@ -38,7 +48,10 @@ return document.querySelector(this.ticketTypeSelector).innerText; }, getContainer() { - return document.querySelector(this.containerSelector); + return document.body; + }, + getMainColumn() { + return document.querySelector(this.mainColumnSelector); } }; // gitLab integration parameters @@ -158,7 +171,7 @@ template: `
- Branch: + Branch:
- From: + From:
- To: + To:
@@ -216,25 +229,53 @@
- Commit message + Commit
+
+ Impact + +
+
`, data() { return { styles: document.createElement('style'), baseStyles: ` #juapp { - display: flex; - width: 100%; + position: fixed; + bottom: 0; + transition: all .375s; + z-index: 2; + width: calc(100vw - 75px); + left: 55px; + } + #juapp.collapsed { + transform: translateY(calc(100% - 20px)); + } + .ju-toggle { + position: absolute; + top: 5px; + right: 5px; + width: 12px; + height: 12px; + background: url(/s/-blgr2a/76005/c5add0d…/6.1.0/_/download/resources/com.atlassian.auiplugin:aui-sidebar/images/icons/sidebar/icon-toggle.svg) center center no-repeat; + background-size: 12px; + transition: transform .375s; + transform: rotate(-90deg); + cursor: pointer; + } + .ju-toggle--toggled { + transform: rotate(90deg); } .juactions-root { display: flex; width: 100%; - padding: 5px 10px; + padding: 20px 10px 5px; background: #CFD8DC; align-items: center; + box-sizing: border-box; } .buttons-group { margin-right: 10px; @@ -255,6 +296,7 @@ border-radius: 5px; cursor: pointer; transition: all .375s; + margin-bottom: 5px; } .action-button--selected { background-color: #4CAF50; @@ -297,6 +339,7 @@ color: #666; opacity: .8; margin-left: 5px; + margin-bottom: 5px; width: 150px; text-align: right; } @@ -304,6 +347,7 @@ height: 28px; box-sizing: border-box; padding: 3px 8px 3px 0; + margin-bottom: 5px; } .group-separator { height: 80%; @@ -357,6 +401,7 @@ branchExists: false, existedBranch: undefined, commitMessage: '', + collapsed: false, }; }, mounted() { @@ -365,6 +410,11 @@ this.setCommitMessage(); this.setInitialValues(); this.clipboard = new Clipboard('.copyButton'); + setInterval(() => { + if (jip.getMainColumn()) { + jip.getMainColumn().style.paddingBottom = `${this.$root.$el.offsetHeight}px`; + } + }, 1000); }, watch: { showBranchName() { @@ -380,6 +430,10 @@ } }, methods: { + toggle() { + this.collapsed = !this.collapsed; + this.$root.$el.classList.toggle('collapsed'); + }, createStyles() { document.body.appendChild(this.styles); this.styles.innerHTML = this.baseStyles; @@ -657,6 +711,14 @@ copy(e) { notification.show({ element: e.target, message: 'Copied :)' }); }, + addImpact() { + document.querySelector(jip.commentButtonSelector).click(); + setTimeout(() => { + document.querySelector(jip.textTabSelector).click(); + document.querySelector(jip.commentAreaSelector).value = jip.impactAnalysisTemplate; + document.querySelector(jip.visualTabSelector).click(); + }, 200); + }, getInitialIssueType() { const issueType = jip.getTicketType().toLowerCase().trim(); const issueTypesMapping = {