11// The last time a refresh of the page was done
2- var lastRefresh = ( new Date ( ) ) . getTime ( ) ;
3- var jiraLogo = chrome . extension . getURL ( "images/jira.png" ) ;
4- var jiraUrl = undefined ;
5- var acceptanceStartString = 'h3. Acceptatiecriteria' ;
6- var acceptanceEndString = 'h3. Notities' ;
7- var prTemplate = '' ;
8- var NL = "\r" ;
2+ let lastRefresh = ( new Date ( ) ) . getTime ( ) ;
3+ let jiraLogo = chrome . extension . getURL ( "images/jira.png" ) ;
4+ let jiraUrl = undefined ;
5+ let acceptanceStartString = 'h3. Acceptatiecriteria' ;
6+ let acceptanceEndString = 'h3. Notities' ;
7+ let prTemplate = '' ;
8+ let NL = "\r" ;
99chrome . storage . sync . get ( {
1010 jiraUrl : '' ,
1111 acceptanceStartString : 'h3. Acceptatiecriteria' ,
@@ -69,7 +69,7 @@ chrome.storage.sync.get({
6969} ) ;
7070
7171function checkPage ( ) {
72- var url = window . location . href ;
72+ let url = window . location . href ;
7373 if ( url . match ( / g i t h u b \. c o m \/ ( .* ) \/ ( .* ) \/ p u l l \/ / ) != null ) {
7474 setTimeout ( function ( ) {
7575 handleCommitsTitle ( ) ;
@@ -90,40 +90,45 @@ function checkPage() {
9090}
9191
9292function handleCommitsTitle ( ) {
93- var baseTicketUrl = 'https://' + jiraUrl + '/browse/' ;
93+ let baseTicketUrl = 'https://' + jiraUrl + '/browse/' ;
9494
9595 $ ( ".commit-message code" ) . each ( function ( index , item ) {
96- var $item = $ ( item ) ;
97- var $itemLink = $item . find ( 'a' ) ;
98- var itemLinkHtml = $itemLink . html ( ) ;
96+ let $item = $ ( item ) ;
97+ let $itemLink = $item . find ( 'a' ) ;
98+ let itemLinkHtml = $itemLink . html ( ) ;
9999
100100 if ( ! itemLinkHtml . match ( / ( [ A - Z ] + - [ 0 - 9 ] + ) / g) ) {
101101 return ;
102102 }
103103
104- var aHref = $itemLink [ 0 ] . href ;
105- var splittedContent = itemLinkHtml . split ( / ( [ A - Z ] + - [ 0 - 9 ] + ) / g) ;
104+ let aHref = $itemLink [ 0 ] . href ;
105+ let splittedContent = itemLinkHtml . split ( / ( [ A - Z ] + - [ 0 - 9 ] + ) / g) ;
106106
107107 $item . html ( '' ) ;
108108 for ( var i = 0 ; i < splittedContent . length ; i += 3 ) {
109109 $item . append (
110110 '<a href="' + aHref + '">' + splittedContent [ 0 ] + '</a>' +
111- '<a href="' + baseTicketUrl + splittedContent [ 1 ] + '" target="_blank" alt="Ticket in Jira">' + splittedContent [ 1 ] + '</a>' +
112- '<a href="' + aHref + '">' + splittedContent [ 2 ] + '</a>'
111+ '<a href="' + baseTicketUrl + splittedContent [ 1 ] + '" target="_blank" alt="Ticket in Jira"><b> ' + splittedContent [ 1 ] + '</b> </a>' +
112+ ' <a href="' + aHref + '">' + splittedContent [ 2 ] . trim ( ) + '</a>'
113113 ) ;
114114 }
115115 } ) ;
116116}
117117
118118function handlePrPage ( ) {
119- var title = $ ( "h1 > span.js-issue-title" ) . html ( ) ;
120- if ( title == undefined || $ ( 'a[data-container-id="jira_bucket"] ' ) . length > 0 ) {
119+ let title = $ ( "h1 > span.js-issue-title" ) . html ( ) ;
120+ if ( title == undefined || $ ( '#insertedJiraData ' ) . length > 0 ) {
121121 //If we didn't find a ticket, or the data is already inserted, cancel.
122122 return false ;
123123 }
124124
125- var ticketNumber = title . match ( / ( [ A - Z ] + - [ 0 - 9 ] + ) / ) [ 0 ] ;
126- var ticketUrl = 'https://' + jiraUrl + '/browse/' + ticketNumber ;
125+ let ticketNumber = title . match ( / ( [ A - Z ] + - [ 0 - 9 ] + ) / ) ;
126+ if ( null == ticketNumber ) {
127+ //Title was found, but ticket number wasn't.
128+ return false ;
129+ }
130+ ticketNumber = ticketNumber [ 0 ] ;
131+ let ticketUrl = 'https://' + jiraUrl + '/browse/' + ticketNumber ;
127132
128133 //Replace title with clickable link to jira ticket
129134 $ ( "h1 > span.js-issue-title" ) . html (
@@ -138,39 +143,15 @@ function handlePrPage() {
138143 '<div id="insertedJiraData">Loading ticket ' + ticketNumber + '...</div>'
139144 ) ;
140145
141- //Add another tab for directly viewing the ticket information
142- $ ( 'div.tabnav.tabnav-pr nav.tabnav-tabs' ) . append (
143- '<a href="' + ticketUrl + '" data-container-id="jira_bucket" data-tab="jira" class="tabnav-tab js-pull-request-tab">' +
144- '<span class="octicon octicon-credit-card"></span> Jira' +
145- '<span id="files_tab_counter" class="Counter"> ' +
146- '0' +
147- '</span>' +
148- '</a>'
149- ) ;
150-
151- // The tab view
152- $ ( 'div.pull-request-tab-content' ) . parent ( ) . append (
153- '<div id="jira_bucket" class="jira-bucket tab-content pull-request-tab-content"></div>'
154- ) ;
155-
156- // Tab click handle
157- $ ( 'a[data-tab="jira"]' ) . on ( 'click' , function ( ) {
158- $ ( 'nav.tabnav-tabs a' ) . removeClass ( 'selected' ) ;
159- $ ( this ) . addClass ( 'selected' ) ;
160- $ ( 'div.pull-request-tab-content' ) . removeClass ( 'is-visible' ) ;
161- $ ( 'div#jira_bucket' ) . addClass ( 'is-visible' ) ;
162- return false ;
163- } ) ;
164-
165146 //Load up data from jira
166147 chrome . runtime . sendMessage (
167148 { query : 'getTicketInfo' , jiraUrl : jiraUrl , ticketNumber : ticketNumber } ,
168149 function ( result ) {
169- var assignee = result . fields . assignee ;
170- var reporter = result . fields . reporter ;
150+ let assignee = result . fields . assignee ;
151+ let reporter = result . fields . reporter ;
171152
172- var assigneeImage = assignee . avatarUrls [ '48x48 ' ] ;
173- var reporterImage = reporter . avatarUrls [ '48x48 ' ] ;
153+ let assigneeImage = assignee . avatarUrls [ '16x16 ' ] ;
154+ let reporterImage = reporter . avatarUrls [ '16x16 ' ] ;
174155
175156 $ ( "#insertedJiraData" ) . html (
176157 '<div class="TableObject gh-header-meta">' +
@@ -187,76 +168,34 @@ function handlePrPage() {
187168 '<div class="TableObject-item TableObject-item--primary">' +
188169 '<b><a href="' + ticketUrl + '" target="_blank">[' + ticketNumber + '] - ' + result . fields . summary + '</a></b>' +
189170 ' - Reported by ' +
190- '<span class="author text-bold">' + assignee . displayName + '</span>' +
171+ '<span class="author text-bold"><img src="' + assigneeImage + '" width="16"/> '+ assignee . displayName + '</span>' +
191172 ' and assigned to ' +
192- '<span class="author text-bold">' + reporter . displayName + '</span>' +
173+ '<span class="author text-bold"><img src="' + reporterImage + '" width="16"/> '+ reporter . displayName + '</span>' +
193174 '</div>' +
194175 '</div>'
195176 ) ;
196-
197- var assigneeText = '<div class="discussion-timeline pull-discussion-timeline js-quote-selection-container ">' +
198- '<div class="js-discussion js-socket-channel">' +
199- '<div class="timeline-comment-wrapper js-comment-container">' +
200- '<a href="#"><img alt="' + assignee . displayName + '" class="timeline-comment-avatar" height="48" src="' + assigneeImage + '" width="48"></a>' +
201- '<div class="comment previewable-edit timeline-comment js-comment js-task-list-container">' +
202- '<div class="timeline-comment-header ">' +
203- '<div class="timeline-comment-header-text">' +
204- '<strong><a href="#" class="author">' + assignee . displayName + '</a></strong>' +
205- ' is assigned to this task. Last update was ' +
206- '<a href="#" class="timestamp">' +
207- '<time datetime="' + result . fields . updated + '" is="relative-time" title="' + result . fields . updated + '">' + result . fields . updated + '</time>' +
208- '</a>' +
209- '</div>' +
210- '</div>' +
211- '</div>' +
212- '</div>' +
213- '</div>' +
214- '</div>' ;
215-
216- var reporterText = '<div class="discussion-timeline pull-discussion-timeline js-quote-selection-container ">' +
217- '<div class="js-discussion js-socket-channel">' +
218- '<div class="timeline-comment-wrapper js-comment-container">' +
219- '<a href="#"><img alt="' + reporter . displayName + '" class="timeline-comment-avatar" height="48" src="' + reporterImage + '" width="48"></a>' +
220- '<div class="comment previewable-edit timeline-comment js-comment js-task-list-container">' +
221- '<div class="timeline-comment-header ">' +
222- '<div class="timeline-comment-header-text">' +
223- '<strong><a href="#" class="author">' + reporter . displayName + '</a></strong>' +
224- ' is the creator of this task. Task was created ' +
225- '<a href="#" class="timestamp">' +
226- '<time datetime="' + result . fields . created + '" is="relative-time" title="' + result . fields . created + '">' + result . fields . created + '</time>' +
227- '</a>' +
228- '</div>' +
229- '</div>' +
230- '</div>' +
231- '</div>' +
232- '</div>' +
233- '</div>' ;
234-
235- $ ( "div#jira_bucket" ) . html (
236- assigneeText + reporterText
237- ) ;
238177 }
239178 ) ;
240179}
241180
242181function handlePrCreatePage ( ) {
243- var body = $ ( "textarea#pull_request_body" ) ;
182+ let body = $ ( "textarea#pull_request_body" ) ;
244183 if ( body . attr ( 'jira-loading' ) == 1 ) {
245184 return false ; //Already loading
246185 }
247186 body . attr ( 'jira-loading' , 1 ) ;
248187
249- var title = document . title ;
250- var ticketUrl = '**No linked ticket**' ;
251- var ticketDescription = '...' ;
252- var acceptanceList = '' ;
188+ let title = document . title ;
189+ let ticketUrl = '**No linked ticket**' ;
190+ let ticketDescription = '...' ;
191+ let acceptanceList = '' ;
253192
254193 if ( title != undefined ) {
255- var titleMatch = title . match ( / ( [ a - z A - Z ] + - [ 0 - 9 ] + ) / ) ;
194+ let titleMatch = title . match ( / ( [ a - z A - Z ] + - [ 0 - 9 ] + ) / ) ;
256195 if ( titleMatch ) {
257196 // Found a title, fetch some info from the ticket
258197 // Get the last one in the list.
259- var ticketNumber = titleMatch [ titleMatch . length - 1 ] ;
198+ let ticketNumber = titleMatch [ titleMatch . length - 1 ] ;
260199 ticketUrl = 'https://' + jiraUrl + '/browse/' + ticketNumber ;
261200
262201 //Load up data from jira
@@ -265,7 +204,7 @@ function handlePrCreatePage() {
265204 function ( result ) {
266205 $ ( 'input#pull_request_title' ) . val ( '[' + ticketNumber . toUpperCase ( ) + '] ' + result . fields . summary ) ;
267206
268- var description = result . fields . description ;
207+ let description = result . fields . description ;
269208
270209 if ( typeof description == 'string' || description instanceof String ) {
271210 description = description . substr ( description . indexOf ( acceptanceStartString ) , description . length ) ;
0 commit comments