diff options
author | Fatih Acet <acetfatih@gmail.com> | 2016-07-22 17:01:57 +0300 |
---|---|---|
committer | Fatih Acet <acetfatih@gmail.com> | 2016-07-22 17:07:29 +0300 |
commit | bc3f33f92a16d3afdb8a472f60940e7c46a31564 (patch) | |
tree | c6e568504b7888591ad15586bb1ace99db8941ca /app/assets/javascripts/star.js | |
parent | 033e5423a2594e08a7ebcd2379bd2331f4c39032 (diff) | |
download | gitlab-ce-jsify.tar.gz |
JSify all the things!jsify
Diffstat (limited to 'app/assets/javascripts/star.js')
-rw-r--r-- | app/assets/javascripts/star.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/app/assets/javascripts/star.js b/app/assets/javascripts/star.js new file mode 100644 index 00000000000..4264413199b --- /dev/null +++ b/app/assets/javascripts/star.js @@ -0,0 +1,28 @@ +this.Star = (function() { + function Star() { + $('.project-home-panel .toggle-star').on('ajax:success', function(e, data, status, xhr) { + var $starIcon, $starSpan, $this, toggleStar; + $this = $(this); + $starSpan = $this.find('span'); + $starIcon = $this.find('i'); + toggleStar = function(isStarred) { + $this.parent().find('.star-count').text(data.star_count); + if (isStarred) { + $starSpan.removeClass('starred').text('Star'); + gl.utils.updateTooltipTitle($this, 'Star project'); + $starIcon.removeClass('fa-star').addClass('fa-star-o'); + } else { + $starSpan.addClass('starred').text('Unstar'); + gl.utils.updateTooltipTitle($this, 'Unstar project'); + $starIcon.removeClass('fa-star-o').addClass('fa-star'); + } + }; + toggleStar($starSpan.hasClass('starred')); + }).on('ajax:error', function(e, xhr, status, error) { + new Flash('Star toggle failed. Try again later.', 'alert'); + }); + } + + return Star; + +})(); |