ABS Customer FS
by Luca De Nardi
HTML
<script src="http://code.angularjs.org/angular-1.0.1.js"></script>
<div ng-controller="MyCtrl">
<input ng-model="searchString">
<button ng-click="doSearch(searchString)">Search</button>
<button ng-click="reset()">Reset</button>
<br>
<select ng-model="chosen" ng-options="obj.id as obj.name for obj in data">
</select>
<br> Chosen: {{chosen}}
</div>
JavaScript
var myApp = angular.module('myApp', []);
//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});
function MyCtrl($scope) {
function refactor(obj) {
var _retArray = [];
for (var key in obj) {
_retArray.push({
name: key,
simpleName: key.replace(/\W/g, ''),
id: obj[key]
})
}
return _retArray;
}
var customerFS = {
"a.b.s": 1,
"0.0.1": 2,
"01aa": 3,
"0.asd": 4
}
var _refactored = refactor(customerFS);
$scope.reset = function() {
$scope.data = _refactored;
}
$scope.reset();
$scope.doSearch = function(what) {
$scope.data = $scope.search(what);
}
$scope.search = function(what) {
what = what.toLowerCase();
var _rets = [];
for (var i = 0; i < $scope.data.length; i++) {
if ($scope.data[i].name.toLowerCase().indexOf(what) != -1) {
_rets.push($scope.data[i]);
} else if ($scope.data[i].simpleName.toLowerCase().indexOf(what.replace(/\W/, '')) != -1) {
_rets.push($scope.data[i]);
}
}
return _rets;
}
}