80 lines
2.9 KiB
HTML
80 lines
2.9 KiB
HTML
|
<!DOCTYPE html>
|
|||
|
<html>
|
|||
|
<head>
|
|||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|||
|
<title>jsGrid - Custom Row Renderer</title>
|
|||
|
<link rel="stylesheet" type="text/css" href="demos.css" />
|
|||
|
<link href='http://fonts.googleapis.com/css?family=Open+Sans:300,600,400' rel='stylesheet' type='text/css'>
|
|||
|
|
|||
|
<link rel="stylesheet" type="text/css" href="../css/jsgrid.css" />
|
|||
|
<link rel="stylesheet" type="text/css" href="../css/theme.css" />
|
|||
|
|
|||
|
<script src="../external/jquery/jquery-1.8.3.js"></script>
|
|||
|
|
|||
|
<script src="../src/jsgrid.core.js"></script>
|
|||
|
<script src="../src/jsgrid.load-indicator.js"></script>
|
|||
|
<script src="../src/jsgrid.load-strategies.js"></script>
|
|||
|
<script src="../src/jsgrid.sort-strategies.js"></script>
|
|||
|
<script src="../src/jsgrid.field.js"></script>
|
|||
|
|
|||
|
<style>
|
|||
|
.client-photo { float: left; margin: 0 20px 0 10px; }
|
|||
|
.client-photo img { border-radius: 50%; border: 1px solid #ddd; }
|
|||
|
.client-info { margin-top: 10px; }
|
|||
|
.client-info p { line-height: 25px; }
|
|||
|
</style>
|
|||
|
</head>
|
|||
|
<body>
|
|||
|
<h1>Custom Row Renderer</h1>
|
|||
|
<div id="jsGrid"></div>
|
|||
|
|
|||
|
<script>
|
|||
|
$(function() {
|
|||
|
|
|||
|
$("#jsGrid").jsGrid({
|
|||
|
height: "80%",
|
|||
|
width: "50%",
|
|||
|
autoload: true,
|
|||
|
paging: true,
|
|||
|
controller: {
|
|||
|
loadData: function() {
|
|||
|
var deferred = $.Deferred();
|
|||
|
|
|||
|
$.ajax({
|
|||
|
url: 'http://api.randomuser.me/?results=40',
|
|||
|
dataType: 'jsonp',
|
|||
|
success: function(data){
|
|||
|
deferred.resolve(data.results);
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
return deferred.promise();
|
|||
|
}
|
|||
|
},
|
|||
|
rowRenderer: function(item) {
|
|||
|
var user = item;
|
|||
|
var $photo = $("<div>").addClass("client-photo").append($("<img>").attr("src", user.picture.large));
|
|||
|
var $info = $("<div>").addClass("client-info")
|
|||
|
.append($("<p>").append($("<strong>").text(user.name.first.capitalize() + " " + user.name.last.capitalize())))
|
|||
|
.append($("<p>").text("Location: " + user.location.city.capitalize() + ", " + user.location.street))
|
|||
|
.append($("<p>").text("Email: " + user.email))
|
|||
|
.append($("<p>").text("Phone: " + user.phone))
|
|||
|
.append($("<p>").text("Cell: " + user.cell));
|
|||
|
|
|||
|
return $("<tr>").append($("<td>").append($photo).append($info));
|
|||
|
},
|
|||
|
fields: [
|
|||
|
{ title: "Clients" }
|
|||
|
]
|
|||
|
});
|
|||
|
|
|||
|
|
|||
|
String.prototype.capitalize = function() {
|
|||
|
return this.charAt(0).toUpperCase() + this.slice(1);
|
|||
|
};
|
|||
|
|
|||
|
});
|
|||
|
</script>
|
|||
|
</body>
|
|||
|
</html>
|