UNPKG

angular-material-npfixed

Version:

The Angular Material project is an implementation of Material Design in Angular.js. This project provides a set of reusable, well-tested, and accessible Material Design UI components. Angular Material is supported internally at Google by the Angular.js, M

88 lines (77 loc) 2.08 kB
(function () { 'use strict'; angular .module('chipsCustomInputDemo', ['ngMaterial']) .controller('CustomInputDemoCtrl', DemoCtrl); function DemoCtrl ($timeout, $q) { var self = this; self.readonly = false; self.selectedItem = null; self.searchText = null; self.querySearch = querySearch; self.vegetables = loadVegetables(); self.selectedVegetables = []; self.numberChips = []; self.numberChips2 = []; self.numberBuffer = ''; self.autocompleteDemoRequireMatch = true; self.transformChip = transformChip; /** * Return the proper object when the append is called. */ function transformChip(chip) { // If it is an object, it's already a known chip if (angular.isObject(chip)) { return chip; } // Otherwise, create a new one return { name: chip, type: 'new' } } /** * Search for vegetables. */ function querySearch (query) { var results = query ? self.vegetables.filter(createFilterFor(query)) : []; return results; } /** * Create filter function for a query string */ function createFilterFor(query) { var lowercaseQuery = angular.lowercase(query); return function filterFn(vegetable) { return (vegetable._lowername.indexOf(lowercaseQuery) === 0) || (vegetable._lowertype.indexOf(lowercaseQuery) === 0); }; } function loadVegetables() { var veggies = [ { 'name': 'Broccoli', 'type': 'Brassica' }, { 'name': 'Cabbage', 'type': 'Brassica' }, { 'name': 'Carrot', 'type': 'Umbelliferous' }, { 'name': 'Lettuce', 'type': 'Composite' }, { 'name': 'Spinach', 'type': 'Goosefoot' } ]; return veggies.map(function (veg) { veg._lowername = veg.name.toLowerCase(); veg._lowertype = veg.type.toLowerCase(); return veg; }); } } })();