all files / app/main/apps/scrumboard/sidenavs/settings/menus/members/ members-menu.controller.js

29.41% Statements 5/17
0% Branches 0/4
14.29% Functions 1/7
29.41% Lines 5/17
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71                                                                                                                                    
(function ()
{
    'use strict';
 
    angular
        .module('app.scrumboard')
        .controller('MembersMenuController', MembersMenuController);
 
    /** @ngInject */
    function MembersMenuController($document, $mdDialog, BoardService)
    {
        var vm = this;
 
        // Data
        vm.board = BoardService.data;
        vm.newMemberSearchInput = '';
 
        // Methods
        vm.addNewMember = addNewMember;
        vm.removeMember = removeMember;
 
        ////////
 
        /**
         * Add New Member
         */
        function addNewMember()
        {
            // Add new member
        }
 
        /**
         * Remove member
         *
         * @param ev
         * @param memberId
         */
        function removeMember(ev, memberId)
        {
            var confirm = $mdDialog.confirm({
                title              : 'Remove Member',
                parent             : $document.find('#scrumboard'),
                textContent        : 'Are you sure want to remove member?',
                ariaLabel          : 'remove member',
                targetEvent        : ev,
                clickOutsideToClose: true,
                escapeToClose      : true,
                ok                 : 'Remove',
                cancel             : 'Cancel'
            });
 
            $mdDialog.show(confirm).then(function ()
            {
                var arr = vm.board.members;
                arr.splice(arr.indexOf(arr.getById(memberId)), 1);
 
                angular.forEach(vm.board.cards, function (card)
                {
                    if ( card.idMembers && card.idMembers.indexOf(memberId) > -1 )
                    {
                        card.idMembers.splice(card.idMembers.indexOf(memberId), 1);
                    }
                });
            }, function ()
            {
                // Canceled
            });
        }
 
    }
})();