<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>Angular list select demo</title>
    <!-- style -->
    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="angular-list-select.min.css">
    <link rel="stylesheet" type="text/css" href="style.css">
    <!-- script -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.2/angular.min.js"></script>
    <script src="angular-list-select.min.js"></script>
    <script src="script.js"></script>
    <!--[if IE]>
        <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
</head>

<body id="home" ng-app="demo-app" ng-controller="MainController">
    <div class="container">
        <div class="row">
            <div class="col-md-offset-3 col-md-6 column">
                <h1 class="text-center">Demo of angular list select</h1>
                <list-select items="people" selected-items="selectedPeople" item-id="personId" item-template="itemTemplate.html" search="search-input"></list-select>
            </div>
        </div>
    </div>
</body>

</html>
.ls-container {
  display: inline-block;
  text-align: initial; }
  .ls-container .ls-items {
    float: left;
    margin-right: 50px; }
  .ls-container .ls-items,
  .ls-container .ls-selected-items {
    min-height: 200px;
    min-width: 150px;
    max-height: 200px;
    overflow: auto;
    display: inline-block;
    border: 1px solid #ddd; }
  .ls-container .ls-item,
  .ls-container .ls-selected-item {
    width: 100%;
    padding: 5px 10px; }
    .ls-container .ls-item:hover,
    .ls-container .ls-selected-item:hover {
      background-color: #eee;
      cursor: pointer; }
  .ls-container .search-bar-container {
    text-align: center;
    margin-top: 5px; }
/*! 
 * angular-list-select
 * https://github.com/nejcsever/angular-list-select
 * Copyright (c) 2016 Nejc Sever
 * License: MIT
 */
!function(){angular.module("angular-list-select",[]).directive("listSelect",function(){function e(e,i,t,s){var c=[],l=[];e.dirItems=e.items.map(function(e){return angular.copy(e)});var d=function(){c=[],l=[],e.dirItems.forEach(function(i){c.push(e.itemId(i))}),e.selectedItems.forEach(function(i){l.push(e.itemId(i))})};d(),e.itemClick=function(i){var t=e.itemId(i),s=c.indexOf(t);l.push(t),e.selectedItems.push(i),c.splice(s,1),e.dirItems.splice(s,1)},e.selItemClick=function(i){var t=e.itemId(i),s=l.indexOf(t);c.push(t),e.dirItems.push(i),l.splice(s,1),e.selectedItems.splice(s,1)}}var i={restrict:"EA",replace:!0,scope:{items:"=",selectedItems:"=",itemId:"=",itemTemplate:"@",search:"@"},link:e,template:'<div class="ls-container"><div><div class="ls-items"><div class="ls-item" ng-repeat="item in dirItems | filter:searchText" ng-click="itemClick(item)"><div ng-include="itemTemplate"></div></div></div><div class="ls-selected-items"><div class="ls-selected-item" ng-repeat="item in selectedItems" ng-click="selItemClick(item)"><div ng-include="itemTemplate"></div></div></div></div><div class="search-bar-container"><div ng-show="search"><input type="text" ng-model="searchText" ng-class="search" placeholder="Filter..."></div></div></div>'};return i})}();
.column {
	text-align: center;
}
.column h1 {
	margin-bottom: 40px;
}
.ls-container {
	margin: 0 auto;
	display: inline-block;
}
.item > .name {
	font-weight: bold;
}
.search-input {
	border-radius: 3px;
	border: 1px solid #eee;
}
angular.module('demo-app', ['angular-list-select'])
    .controller('MainController', ['$scope', function($scope) {
        $scope.people = [{
            id: 0,
            name: "Nejc",
            surname: "Sever"
        }, {
            id: 1,
            name: "Brandon",
            surname: "Faircloth"
        }, {
            id: 2,
            name: "Neil",
            surname: "Donoghue"
        }, {
            id: 3,
            name: "Aaron",
            surname: "Gwin"
        }, {
            id: 4,
            name: "Peter",
            surname: "Prevc"
        }, {
            id: 5,
            name: "Tina",
            surname: "Maze"
        }, {
            id: 6,
            name: "Loic",
            surname: "Bruni"
        }];
        $scope.selectedPeople = [];
        $scope.personId = function(person) {
            return person.id;
        };
    }]);
<div class="item">
	<div class="name">{{item.name}}</div>
	<div>{{item.surname}}</div>
</div>