cm.onSelect = function()

in tree/master/cloud/src/solution/Microsoft.Legal.MatterCenter.Web/wwwroot/app/matter/matterusers.controller.js [1240:1321]


        cm.onSelect = function ($item, $model, $label, value, fucnValue, $event, username) {
            var typeheadelelen = angular.element('.dropdown-menu li').length;
            var noresults = true;
            if (typeheadelelen == 1) {
                if (angular.element('.dropdown-menu li a')[0]) {
                    if (angular.element('.dropdown-menu li a')[0].innerHTML == "No results found" || ($item && $item.name == "No results found")) {
                        noresults = false;
                        if ($event.keyCode == 9 || $event.keyCode == 13) {
                            cm.user = angular.element('#' + $event.currentTarget.id).val();
                        }
                    }
                }
            }
            if ($item && $item.name !== "No results found") {
                if (value == "team") {
                    if ($label.assignedAllUserNamesAndEmails && $label.assignedAllUserNamesAndEmails.indexOf(';') > -1) {
                        $label.assignedUser = $item.name + '(' + $item.email + ');';
                        if ($label.assignedAllUserNamesAndEmails.indexOf($item.name) == -1) {
                            if ($label.assignedAllUserNamesAndEmails.indexOf($item.email) > -1) {
                                $label.assignedAllUserNamesAndEmails = $label.assignedAllUserNamesAndEmails.replace($item.email + ";", "");
                            }
                            $label.assignedAllUserNamesAndEmails = $label.assignedAllUserNamesAndEmails + $label.assignedUser;
                            $label.assignedUser = $label.assignedAllUserNamesAndEmails;
                        } else {
                            $label.assignedUser = $label.assignedAllUserNamesAndEmails;
                        }
                    }
                    else {
                        $label.assignedUser = $item.name + '(' + $item.email + ');';
                        $label.assignedAllUserNamesAndEmails = $item.name + '(' + $item.email + ');';
                    }
                    cm.typehead = false;
                    cm.notificationPopUpBlock = false;
                }

                if (-1 == cm.oSiteUsers.indexOf($item.email)) {
                    cm.oSiteUsers.push($item.email);
                }
                if (-1 == cm.oSiteUserNames.indexOf($item.name)) {
                    cm.oSiteUserNames.push($item.name);
                }
                $label.userConfirmation = false;
                cm.checkUserExists($label);
            }
            else {
                if (fucnValue == "on-blurr") {
                    cm.user = username;
                    $label.assignedAllUserNamesAndEmails = $label.assignedUser;
                    var userEmailTxt = "";
                    var userNames = getUserName($label.assignedUser, true);
                    var userEmails = getUserName($label.assignedUser, false);
                    var exsistingTeams = [];
                    for (var i = 0; i < userEmails.length; i++) {
                        if (userEmails[i] != "" && validateEmail(userEmails[i])) {
                            angular.forEach($label.teamUsers, function (team) {
                                if (team.userName == userEmails[i]) {
                                    exsistingTeams.push(team);
                                }
                            });
                            var userNameAndEmailTxt = (userNames[i] == userEmails[i]) ? userEmails[i] : userNames[i] + "(" + userEmails[i] + ")";
                            userEmailTxt = userEmailTxt + userNameAndEmailTxt + ";";
                        }
                    }
                    $label.assignedAllUserNamesAndEmails = userEmailTxt;
                    $label.teamUsers = exsistingTeams;
                }
                if (fucnValue == "on-blurr") {
                    if (typeheadelelen == 0 && noresults) {
                        cm.checkUserExists($label, $event);
                    } else if (typeheadelelen >= 1 && !noresults) {
                        cm.checkUserExists($label, $event);
                        $("[uib-typeahead-popup].dropdown-menu").css("display", "none");
                    }
                }
                if (!noresults) {
                    if (value == "team") {
                        $label.assignedUser = "";
                        $label.assignedUser = cm.user;
                    }
                }
            }
        }