(function () { "use strict"; var TagsManager = function ($scope, groupsService, userService, timeService) { $scope.buttonText = "Add a Connection"; function displayMessage(tag) { return function (success, message) { tag.message = message; if (!success) tag.message = "There was an issue creating this invite. Please try again."; } } $scope.newTag = false; $scope.message = ["Members of this Group will not be able to see memories you shared with this Group if you delete it.","Are you sure you want to remove this Group?"]; $scope.getTags = function () { groupsService.getTagsViewers().then(function (response) { $scope.tags = response.data; $scope.tags.forEach(tv => { tv.memberCount = tv.tagViewers.Viewers.filter(x => x.selected).length; tv.getDisplayMessage = displayMessage(tv); }); }); $scope.newTag = false; }; userService.getUser().then(function (user) { $scope.user = user; $scope.user.canShareDate = timeService.getDateFromString($scope.user.canShareDate); }); $scope.delete = function (tag) { groupsService.delete(tag.tagId).then(function () { let index = $scope.tags.findIndex(x => x.tagViewers.tag.tagId === tag.tagId); if (index >= 0) { $scope.tags.splice(index, 1); } }); }; $scope.rename = function (group) { group.rename = !group.rename; group.tempName = group.Name; }; $scope.saveName = function (group) { if (group.tempName && group.tempName.length) { groupsService.rename(group.tagId, group.tempName).then(function () { group.Name = group.tempName; group.rename = false; }); } }; $scope.deleteDialog = function (tag) { tag.remove = true; }; $scope.viewShared = function (tagViewer) { tagViewer.open = !tagViewer.open; }; $scope.addPerson = function(tag) { var viewers = tag.tagViewers.Viewers.filter(x => x.selected).map(x => x.Id); tag.memberCount = viewers.length; groupsService.updatetagViewers(tag.tagViewers.tag.tagId, viewers); } $scope.getTags(); $scope.addNewTag = function () { $scope.newTag = true; }; $('.waiting').hide(); }; TagsManager.$inject = ['$scope', 'groupsService', 'userService', 'timeService']; angular.module('streamApp').controller("groupsController", TagsManager); }());