<!DOCTYPE html>
<html ng-app="app">
<head>
<title>Gothic 2 Gold Pickpocket List</title>
<script data-require="underscore.js@*" data-semver="1.5.2" src="//cdn.jsdelivr.net/underscorejs/1.5.2/underscore-min.js"></script>
<script data-require="angular.js@*" data-semver="1.2.15" src="//code.angularjs.org/1.2.15/angular.js"></script>
<script src="app.js"></script>
<script src="defaultController.js"></script>
<link data-require="bootstrap-css@*" data-semver="3.0.0" rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" />
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div>
<div ng-controller="defaultController">
<div>
<table class="table table-nonfluid center">
<tbody>
<tr>
<td>Minimum Dexterity</td>
<td>
<input type="number" ng-model="min" />
</td>
</tr>
<tr>
<td>Maximum Dexterity</td>
<td>
<input type="number" ng-model="max" />
</td>
</tr>
</tbody>
</table>
</div>
<hr />
<table ng-table class="table table-striped table-bordered">
<tr>
<th>Name</th>
<th>Location</th>
<th>Required Dexterity</th>
<th>Loot</th>
</tr>
<tr ng-repeat="person in renderedData">
<td>{{person.name}}</td>
<td>{{person.location}}</td>
<td>{{person.dexterity}}</td>
<td>{{person.loot}}</td>
</tr>
</table>
</div>
</div>
</body>
</html>
.table-nonfluid {
width: auto;
}
.center {
float: none;
margin-left: auto;
margin-right: auto;
}
.table td,th {
text-align: center;
}
'use strict';
var processData = function(data){
window.data = data
};
var app = angular.module('app', []);
app.controller('defaultController',
function defaultController($scope, $http) {
var url = "https://spreadsheets.google.com/feeds/list/0AlrYtJiMIxsMdHhvdnhYQy1fZVU3MVBDLU9laDVqUmc/1/public/values?alt=json-in-script&callback=JSON_CALLBACK";
$http.jsonp(url).success(function(data) {
$scope.data = _.map(data.feed.entry, function(item) {
return {
name: item["gsx$name"]["$t"],
location: item["gsx$location"]["$t"],
dexterity: parseInt(item["gsx$dexterity"]["$t"]),
loot: item["gsx$loot"]["$t"]
}
});
$scope.renderedData = $scope.data;
$scope.min = 0;
$scope.max = 20;
var updateValues = function() {
$scope.renderedData = _.filter($scope.data, function(item) {
return item.dexterity >= $scope.min && item.dexterity <= $scope.max;
})
};
$scope.$watch('min', function() {
updateValues();
})
$scope.$watch('max', function() {
updateValues();
})
});
});