Directive is in early stage of development...
Angular list select is an angular directive that allows you to select multiple items from a list of items. For now you can filter items via text input and create a custom template for each item and style it as you wish.
You can try it in DEMO
items
- list of items to be used in list select
selected-items
- list in which selected items will be stored
item-id
- function that return unique string identifier of item given as parameter
item-template
- url of template to be used to display an item
search
(optional) - string of class values that are apended to filter input control. If attribute is empty, filter input control is hidden
Demo explanation
<list-select items="people" selected-items="selectedPeople" item-id="personId" item-template="itemTemplate.html" search="search-input"></list-select>
Directive defined in example above is going to make a list of items from scope variable people
. All selected items are going to be stored in scope variable selectedPeople
. Item is identified via personId
function and template to display an item is in itemTemplate.html
. search-input
is a class name that is injected as a class attribute to search input text.
script.js:
angular.module('demo-app', ['angular-list-select'])
.controller('MainController', ['$scope', function($scope) {
$scope.people = [{
id: 0,
name: "Nejc",
surname: "Sever"
}];
$scope.selectedPeople = [];
$scope.personId = function(person) {
return person.id;
};
}]);
itemTemplate.html:
<div>
<div>{{item.name}}</div>
<div>{{item.surname}}</div>
</div>