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

85 lines (71 loc) 2.44 kB
(function () { 'use strict'; angular .module('autocompleteDemoInsideDialog', ['ngMaterial']) .controller('DemoCtrl', DemoCtrl); function DemoCtrl($mdDialog) { var self = this; self.openDialog = function($event) { $mdDialog.show({ controller: DialogCtrl, controllerAs: 'ctrl', templateUrl: 'dialog.tmpl.html', parent: angular.element(document.body), targetEvent: $event, clickOutsideToClose:true }) } } function DialogCtrl ($timeout, $q, $scope, $mdDialog) { var self = this; // list of `state` value/display objects self.states = loadAll(); self.querySearch = querySearch; // ****************************** // Template methods // ****************************** self.cancel = function($event) { $mdDialog.cancel(); }; self.finish = function($event) { $mdDialog.hide(); }; // ****************************** // Internal methods // ****************************** /** * Search for states... use $timeout to simulate * remote dataservice call. */ function querySearch (query) { return query ? self.states.filter( createFilterFor(query) ) : self.states; } /** * Build `states` list of key/value pairs */ function loadAll() { var allStates = 'Alabama, Alaska, Arizona, Arkansas, California, Colorado, Connecticut, Delaware,\ Florida, Georgia, Hawaii, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, Louisiana,\ Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Missouri, Montana,\ Nebraska, Nevada, New Hampshire, New Jersey, New Mexico, New York, North Carolina,\ North Dakota, Ohio, Oklahoma, Oregon, Pennsylvania, Rhode Island, South Carolina,\ South Dakota, Tennessee, Texas, Utah, Vermont, Virginia, Washington, West Virginia,\ Wisconsin, Wyoming'; return allStates.split(/, +/g).map( function (state) { return { value: state.toLowerCase(), display: state }; }); } /** * Create filter function for a query string */ function createFilterFor(query) { var lowercaseQuery = angular.lowercase(query); return function filterFn(state) { return (state.value.indexOf(lowercaseQuery) === 0); }; } } })();