@ -1,5 +1,9 @@
'use strict' ;
'use strict' ;
function htmlEncode ( text ) {
return jQuery ( '<div />' ) . text ( text ) . html ( )
}
var csrf ;
var csrf ;
var suburl ;
var suburl ;
@ -394,12 +398,12 @@ function initCommentForm() {
switch ( input _id ) {
switch ( input _id ) {
case '#milestone_id' :
case '#milestone_id' :
$list . find ( '.selected' ) . html ( '<a class="item" href=' + $ ( this ) . data ( 'href' ) + '>' +
$list . find ( '.selected' ) . html ( '<a class="item" href=' + $ ( this ) . data ( 'href' ) + '>' +
$ ( this ) . text ( ) + '</a>' ) ;
htmlEncode ( $ ( this ) . text ( ) ) + '</a>' ) ;
break ;
break ;
case '#assignee_id' :
case '#assignee_id' :
$list . find ( '.selected' ) . html ( '<a class="item" href=' + $ ( this ) . data ( 'href' ) + '>' +
$list . find ( '.selected' ) . html ( '<a class="item" href=' + $ ( this ) . data ( 'href' ) + '>' +
'<img class="ui avatar image" src=' + $ ( this ) . data ( 'avatar' ) + '>' +
'<img class="ui avatar image" src=' + $ ( this ) . data ( 'avatar' ) + '>' +
$ ( this ) . text ( ) + '</a>' ) ;
htmlEncode ( $ ( this ) . text ( ) ) + '</a>' ) ;
}
}
$ ( '.ui' + select _id + '.list .no-select' ) . addClass ( 'hide' ) ;
$ ( '.ui' + select _id + '.list .no-select' ) . addClass ( 'hide' ) ;
$ ( input _id ) . val ( $ ( this ) . data ( 'id' ) ) ;
$ ( input _id ) . val ( $ ( this ) . data ( 'id' ) ) ;
@ -1538,7 +1542,7 @@ function searchUsers() {
$ . each ( response . data , function ( i , item ) {
$ . each ( response . data , function ( i , item ) {
var title = item . login ;
var title = item . login ;
if ( item . full _name && item . full _name . length > 0 ) {
if ( item . full _name && item . full _name . length > 0 ) {
title += ' (' + item . full _name + ')' ;
title += ' (' + htmlEncode ( item . full _name ) + ')' ;
}
}
items . push ( {
items . push ( {
title : title ,
title : title ,
@ -2692,7 +2696,7 @@ function initTopicbar() {
if ( res . topics ) {
if ( res . topics ) {
formattedResponse . success = true ;
formattedResponse . success = true ;
for ( var i = 0 ; i < res . topics . length ; i ++ ) {
for ( var i = 0 ; i < res . topics . length ; i ++ ) {
formattedResponse . results . push ( { "description" : res . topics [ i ] . Name , "data-value" : res . topics [ i ] . Name } )
formattedResponse . results . push ( { "description" : res . topics [ i ] . Name , "data-value" : res . topics [ i ] . Name } )
}
}
}
}
@ -2813,7 +2817,7 @@ function initIssueList() {
// Parse the response from the api to work with our dropdown
// Parse the response from the api to work with our dropdown
$ . each ( response , function ( index , issue ) {
$ . each ( response , function ( index , issue ) {
filteredResponse . results . push ( {
filteredResponse . results . push ( {
'name' : '#' + issue . number + ' ' + issue . title ,
'name' : '#' + issue . number + ' ' + htmlEncode ( issue . title ) ,
'value' : issue . id
'value' : issue . id
} ) ;
} ) ;
} ) ;
} ) ;