overleaf/services/web/public/coffee/main/announcements.coffee

32 lines
942 B
CoffeeScript

define [
"base"
], (App) ->
App.controller "AnnouncementsController", ($scope, $http, event_tracking, $window, _) ->
$scope.announcements = []
$scope.ui =
isOpen: false
newItems: 0
refreshAnnouncements = ->
$http.get("/announcements").then (response) ->
$scope.announcements = response.data
$scope.ui.newItems = _.filter(announcements, (announcement) -> !announcement.read).length
markAnnouncementsAsRead = ->
event_tracking.sendMB "announcement-alert-dismissed", { blogPostId: $scope.announcements[0].id }
$scope.logAnnouncementClick = ->
event_tracking.sendMB "announcement-read-more-clicked", { blogPostId: $scope.announcements[0].id }
refreshAnnouncements()
$scope.toggleAnnouncementsUI = ->
$scope.ui.isOpen = !$scope.ui.isOpen
if !$scope.ui.isOpen and $scope.ui.newItems
$scope.ui.newItems = 0
markAnnouncementsAsRead()
$scope.showAll = ->
$scope.ui.newItems = 0