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;
  }
}