/** * Controller for server * * @module app/serverHealth * @exports inventoryOverviewController * @name inventoryOverviewController */ window.angular && (function(angular) { 'use strict'; angular.module('app.serverHealth').controller('inventoryOverviewController', [ '$scope', '$window', 'APIUtils', 'dataService', function($scope, $window, APIUtils, dataService) { $scope.dataService = dataService; $scope.hardwares = []; $scope.originalData = {}; $scope.customSearch = ''; $scope.searchTerms = []; $scope.loading = true; APIUtils.getHardwares(function(data, originalData) { $scope.hardwares = data; $scope.originalData = JSON.stringify(originalData); $scope.loading = false; }); $scope.clear = function() { $scope.customSearch = ''; $scope.searchTerms = []; }; $scope.doSearchOnEnter = function(event) { var search = $scope.customSearch.replace(/^\s+/g, '').replace(/\s+$/g, ''); if (event.keyCode === 13 && search.length >= 2) { $scope.searchTerms = $scope.customSearch.split(' '); } else { if (search.length == 0) { $scope.searchTerms = []; } } }; $scope.doSearchOnClick = function() { var search = $scope.customSearch.replace(/^\s+/g, '').replace(/\s+$/g, ''); if (search.length >= 2) { $scope.searchTerms = $scope.customSearch.split(' '); } else { if (search.length == 0) { $scope.searchTerms = []; } } }; $scope.filterBySearchTerms = function(hardware) { if (!$scope.searchTerms.length) return true; for (var i = 0, length = $scope.searchTerms.length; i < length; i++) { if (hardware.search_text.indexOf( $scope.searchTerms[i].toLowerCase()) == -1) return false; } return true; }; } ]); })(angular);